main()函数的参数

梦里伊人 posted @ 2007年11月30日 03:08 in c语言笔记 , 1443 阅读

        在以前编写C语言程序时,主函数一般这样开始:

  1. int main()
  2. {......}
没有参数。但是在实验室待久了,见师哥们编写的程序主函数一般这样开始:
  1. int main(int argc, char *argv[])
  2. {......}
main()函数有了参数。现在才知道,在编写一些系统性的程序时,例如要处理一些点云,需要经常测试一些不同的点云,那么如果采用以前不加参数的形式则需要每次测试都要回到程序中将所有点云文件的名字统统改成你想现在测试的点云,每次都要这样。而如果采用后面加参数的形式:
  1. int main(int argc, char *argv[])
  2. {             
  3.     FILE *file=NULL;
  4.  
  5.     if (argc==1)  //argc表示执行程序时输入的命令行中字符串的个数(如果执行:./main.c venus.asc,则argc==2)
  6.     {
  7.         if((file=fopen("rabbit.asc","r"))==NULL)
  8.         {
  9.             printf("error in open file venus.asc\n");
  10.             return 1;
  11.         }
  12.     }
  13.     else
  14.     {
  15.         if((file=fopen(argv[1],"r"))==NULL)
  16.         {
  17.             printf("error in open file %s!\n", argv[1]);
  18.             return 1;
  19.         }
  20.     }
  21.  
,就不需要改变程序内容,只需要在执行程序时将执行命令写成:
  1. ./程序文件名  点云文件名

即可。                                                                                      


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter