您的位置:首页 > 大数据 > 人工智能

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

2014-04-25 21:51 519 查看


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;

}

......

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息