main 函数的入口参数
2009-06-16 10:50
295 查看
Main函数参数argc,argv说明
Wikipedia,自由的百科全书
C/C++语言中的main函数,经常带有参数argc,argv,如下:int main(int argc, char** argv)
int main(int argc, char* argv[])
这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用 cd 命令进入到 hello.exe 文件所在目录) 运行命令为:
hello.exe Shiqi Yu
那么,argc的值是 3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。
下面的程序演示argc和argv的使用:
#include <stdio.h> 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.
================================
#include <stdio.h> #include <sys/shm.h> #include <string.h>
int main(int argc ,char * argv[]) { int i; char arg[6][15]={0}; printf("argc : %d /n",argc); for(i=0;i<argc;i++) { sprintf(arg[i],"%s" ,argv[i]); } //for(i=1;i<4;i++) // printf("%s/n",arg[i]); execlp("/bin/mkdir","mkdir",arg[1],NULL); return 1; }
======================================
清单 2. BusyBox 使用 argv[0] 来确定调用哪个应用程序
[code]// test.c #include <stdio.h> int main( int argc, char *argv[] ) { int i; for (i = 0 ; i < argc ; i++) { printf("argv[%d] = %s/n", i, argv[i]); } return 0; }
[/code]
[code]// test.c
#include <stdio.h>
int main( int argc, char *argv[] )
{
int i;
for (i = 0 ; i < argc ; i++) {
printf("argv[%d] = %s/n", i, argv[i]);
}
return 0;
} |
相关文章推荐
- 第三次讲座盲点整理(编译与链接)——入口函数一定是main?
- 黑马程序员—反射调用main方法的问题总结(涉及可变参数)(反射参数是一个数组的函数要小心)
- main()函数的参数
- main WinMain入口函数比较
- main 函数第三个参数
- 黑莓程序入口函数main误区
- [C]main 函数的参数
- main是C/C++的入口函数么?
- main 函数的两个参数argc、argv
- main 函数的两个参数
- 关于main()函数参数的问题
- winform程序不一定要用Main() 函数做入口
- 基础备忘:带参数的main 函数
- 背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能
- main()函数参数的意义
- main()函数的参数
- 函数入口参数加const的问题
- 由带参数的函数main引发的——字符串指针的思考
- main()函数参数说明!
- main()函数的第三个参数,你不是哪里都能看到它的身影