int main(int argc, char * argv[]) { …… }
参数argc就代表启动程序时,命令行参数的个数。C/C++语言规定,可执行程序程序本身的文件名,也算一个命令行参数,因此,argc的值至少是1。
参数argv是一个指针数组,其中的每个元素都是一个char* 类型的指针,该指针指向一个字符串,这个字符串里就存放着命令行参数。 argv[0]指向的字符串就是第一个命令行参数,即可执行程序的文件名 ,argv[1]指向第二个命令行参数 ,argv[2]指向第三个命令行参数……。
int main(int argc, char * argv[])
{
for(int i = 0;i < argc; i ++ )
printf( "%s\n",argv[i]);
return 0;
}
/*
将上面的程序编译成sample.exe,然后在控制台窗口输入:
sample para1 para2 s.txt 5 4
输出结果就是:
sample
para1
para2
s.txt
5
4
*/
CopyFile.cpp
#include <stdio.h>
#include <assert.h >
void main(int argc, char * argv[])
{
// char buf[1024][1024]={0};
assert(argc == 3);
FILE * fpr = fopen(argv[1], "rb");
FILE * fpw = fopen(argv[2], "wb");
int c;
while( ( c = fgetc(fpr)) != EOF )
{
fputc(c, fpw);
}
fclose(fpr);
fclose(fpw);
}