请问main的argc参数值如何获取???

不如程序中:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main(int argc,char *argv[])
{
FILE *fp;
char filename[128];
char content[100];
if(argc==1)
{
printf("Please Usage:prog8_11 filename\n");
exit(0);
}
else
{
strcpy(filename,argv[1]);
}
printf("The filename input is %s\n",filename);
if((fp=fopen(filename,"w"))!=NULL)
{
printf("File %s open successfully\n",filename);
}
else
{
printf("open file %s failed\n",filename);
exit(0);
}
printf("writting \'Hello_World=' to file %s\n",filename);
fprintf(fp,"%s","Hello_World");
fclose(fp);
if((fp=fopen(filename,"r"))!=NULL)
{
printf("File %s read successfully\n", filename);
}
else
{printf("open file %s failed\n",filename);
exit(0);
}
fscanf(fp,"%s",content);
printf("Data in file %s is \"%s\"",filename,content);
fclose(fp);
}
会得出argc为1,从而结果如下
Please Usage:prog8_11 filename
我就是不明白这个1是从哪里得来的??

假设你编译以后的程序为test.exe,你运行的时候:
test.exe //这时argc==1
如果你用
test.exe filename //这时argc==2
就是你不给参数的话,argc是1。给n个参数,argc就是n+1。
因为argv[0]是可执行程序的文件名
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-05-06
void main(int argc,char *argv[])
括号来里边是命令行参数。
是系统加载你的程序的时候填进去的
相似回答