关于main(int argc,char **argv)中参数的说明

来源:互联网 发布:java调用chrome内核 编辑:程序博客网 时间:2024/06/05 11:24

c语言主函数int main(int argc; char *argv[])中参数的作用

在以前的c语言学习中,主函数一般定义为

 

void main()
{}

没有参数。但是,随着学习的深入和课题中实际问题的需要(例如:在课题中,经常需要测试不同的点云文件,如果不给main()函数加参数,而是每次都依靠查找到并修改主函数中的点云文件名来达到目的,势必是很麻烦的。),我们将主函数定义为

 

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

的形式,添加了参数argc和argv。这两个参数的作用是:当执行make命令编译完程序生成可执行文件后(假设生成的可执行文件名为main),在执行该可执行文件时,argc表示输入的命令行中的字符串的个数,argv[i]表示第i个字符串,例如:如果在命令行中输入

 

./main

若输出argc,则其输出值为1;如果在命令行中输入

 

./main fish.asc

若输出argc,则其输出值为2。

样例:

 

int main(int argc, char *argv[]) 
{
FILE *file=NULL; 

if (argc==1)
{ 
if((file=fopen("venus.asc","r"))==NULL) {
   
printf("error in open file venus.asc\n");
   return 1; 
}
}
else{
if((file=fopen(argv[1],"r"))==NULL) {
   
printf("error in open file %s!\n", argv[1]);
   return 1;
}
......
}
0 0
原创粉丝点击