argc 是程序运行时的参数个数;
程序本身就是一个参数了。
例如:
protest filename.txt
那么argc==2
argc=1 则 argv[0] = protest
argc=2 则 argv[1] = filename.txt
以后的,就以此类推了。
如果需要在VC下运行这个带参数的程序,就需要设置它的参数,
你可以在菜单的Project->Settings的debug属性页下,设置Program arguments参数即可。如上,将filename.txt设在编辑框就可以了。
修改了下面的内容后能够正常运行:
if((in=fopen(argv[1],"r"))==NULL)
{
//fprintf(stderr,"I don't open the file\%s\"\n",argv[1]);修改为:
fprintf(stderr,"I don't open the file \"%s\"\n",argv[1]);
exit(2);
}
argc的表示该程序启动时带有的参数的数量,程序本身是一个参数,该程序需要另外一个文件名称的参数,这样该程序要正常运行就需要2个参数,所以会有这样的判断:if(argc!=2)
主函数的参数上操作系统启动时,向程序提供运行信息。