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

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; }
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: