Main函数参数argc,argv说明 (转载)

1132阅读 0评论2012-02-06 icewater123
分类:C/C++

main()称之为主函数,是所有程序运行的入口,分为有参数和无参数两种
不带参数的形式:int main(void) {......} 
不带参数的就不解释了。

带参数的形式:int main(int argc, char** argv) 或者 int main(int argc, char* argv[])


从函数参数的形式上看,包含一个整型和一个。当一个C的源程序经过编译、链接后,会生成,这是可以在下直接运行的文件。
在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
  命令  参数1  参数2 ....  参数n

参数argc,argv解释如下:

这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命令进入到 hello.exe 文件所在目录) 运行命令为:

hello.exe Shiqi Yu

那么,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。 Image:Hello-argc-argv.png

下面的程序演示argc和argv的使用:

#include  
 int main(int argc, char ** argv) 
{ int i; 
 for (i=0; i < argc; i++) 
 printf("Argument %d is %s.\n", i, argv[i]); 
 return 0; 
}

假如上述代码编译为hello.exe,那么运行

hello.exe a b c d e

将得到

Argument 0 is hello.exe. 
Argument 1 is a. 
Argument 2 is b. 
Argument 3 is c. 
Argument 4 is d. 
Argument 5 is e.

运行

hello.exe lena.jpg

将得到

Argument 0 is hello.exe. 
Argument 1 is lena.jpg. 

转载自:%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0argc%EF%BC%8Cargv%E8%AF%B4%E6%98%8EOpenCV中文网
上一篇:IPv6 link-local 地址的功能和原理
下一篇:字符串 函数sprintf、strcpy 、strncpy及 memcpy , strftime,strcat