C++ main 函数中 (int argc,char *argv[]) 的 ”3 W + 1 H “

来源:互联网 发布:笔记本降温软件 编辑:程序博客网 时间:2024/04/28 05:33

本文将从四个 维度 解释 main(intargc,char **argv);中 (int argc,char *argv[ ]) 的相关知识。 (int argc,char *argv[])  的含义 与 本质 , 使用方式 与 合法表达,最终,在 win7环境下,cmd 窗口 给出 仿真实例。

  • What + Who 解释int_argc char_argv[ ] 含义与本质 分别 是什么

argcargument count的缩写,表示参数的个数,argvargument value的缩写,表示参数的值,argv是一个字符指针数组,每一个元素指向一个字符串,其中argv[0]指向程序的路径名,argv[1]指向第 1 个参数字符串,argv[ i ]指向 i个。

  1.  main()函数常用的格式:main(intargc,char **argv);
  2.  argv为指针的指针,其中,char**argv 、char *argv[ ] 、charargv[ ][ ]都是正确的表述;
  3.  argc为整数。

实质上 int main(intargc,char *argv[ ]) UNIX Linux 中的标准写法,而 int main( )只是 UNIX Linux默许的用法。

  • Why 解释  为什么会有int_argc char_argv[ ] 用于何处

main (int argc, char *argv[])就是为了让程序里面能使用参数,有些.exe程序可以带参数运行,

假定有一个可执行程序名为test。那么运行该程序的的命令行如下:

test –c TEST

其中–cTEST就是命令行参数。C程序可以将这些附加参数读出来,并为自己所用。C程序通过使用main()的参数来读取这些附加参数,比如作为程序运行的条件(经常看到调试参数–D就是这么一个)。

又例:

ping localhost -t

这里localhost-t就是参数,需要注意的是,.exe程序的完整文件名也算在参数里面,所以pinglocalhost -targc3。其中argv[0]指向程序的路径名,argv[1]指向第1个参数字符串“localhost”argv[2]指向第2个参数字符串“-t”

  • How解释int_argc char_argv[]怎么用

如果需要在程序里面使用这些参数的话,可以模仿下面的代码:

int main(int argc, char *argv[])

{

int i = 0;

printf("argc: %d/n", argc);

for(i = 0; i < argc; i++)

{

printf("Arg %d : %s/n", i + 1, argv[i]);

}

return 0;

}

程序运行结果是:

argc: 1
Arg 1 : C:/Program Files/Microsoft Visual Studio/MyProjects/a/Debug/a.exe
Press any key to continue

 

 

 

  • 仿真实例:

下面的MY_20150418.c给出一个读出main参数的例子:
编辑文件 MY_20150418.c

#include

#include

int main(int argc, char *argv[])

{

int count;

printf("The command line has %d arguments:\n", argc - 1);

for(count = 1; count < argc; count++)

{

printf("%d: %s\n", count, argv[count]);

}

printf("\n");

//system("PAUSE");

return 0;

}

这里先解释一下 main(int argc, char*argv[ ]) 这个函数中两个参数的意义,argc记录的是命令行中输入参数的数目,argv是一个拥有argc个元素的字符串数组,每个元素保存一个命令行中输入的参数。


编译这个文件为可执行文件MY_20150418

gcc MY_20150418.c -o MY_20150418

按下列方式执行 MY_20150418 程序

MY_20150418 KK "love you" “BenBen”

输出如下:

The command line has 3 arguments:

1: KK

2: love you

3: BenBen

在这个例子中,argc的值为4,命令行一共输入了四个参数“MY_20150418””KK””love you”“BenBen”。在DOSUNIX环境下,命令行参数中用””符号表示其是一个字符串,视为一个参数。


【CMD 指令 提示】

dir 显示 当前路径下文件信息

cd.. 返回上级路径

cd *** 打开***文件夹

【参考文献】

http://blog.csdn.net/cheng110110/article/details/6439814

http://blog.csdn.net/liuhuiyi/article/details/8239303

0 0