int main(int argc, char * argv[])

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);
}

猜你喜欢

转载自blog.csdn.net/wangqianqianya/article/details/82658520