本文将从四个 维度 解释 main(intargc,char **argv);中 (int argc,char *argv[ ]) 的相关知识。 (int argc,char *argv[]) 的含义 与 本质 , 使用方式 与 合法表达,最终,在 win7环境下,cmd 窗口 给出 仿真实例。
- What + Who 解释int_argc char_argv[ ] 含义与本质 分别 是什么
argc是argument count的缩写,表示参数的个数,argv是argument value的缩写,表示参数的值,argv是一个字符指针数组,每一个元素指向一个字符串,其中argv[0]指向程序的路径名,argv[1]指向第 1 个参数字符串,argv[ i ]则指向第 i个。
- main()函数常用的格式:main(intargc,char **argv);
- argv为指针的指针,其中,char**argv 、char *argv[ ] 、charargv[ ][ ]都是正确的表述;
- 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
其中–c和TEST就是命令行参数。C程序可以将这些附加参数读出来,并为自己所用。C程序通过使用main()的参数来读取这些附加参数,比如作为程序运行的条件(经常看到调试参数–D就是这么一个)。
又例:
ping localhost -t。
这里localhost,-t就是参数,需要注意的是,.exe程序的完整文件名也算在参数里面,所以pinglocalhost -t的argc是3。其中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”。在DOS和UNIX环境下,命令行参数中用””符号表示其是一个字符串,视为一个参数。
【CMD 指令 提示】
dir 显示 当前路径下文件信息
cd.. 返回上级路径
cd *** 打开***文件夹
【参考文献】
http://blog.youkuaiyun.com/cheng110110/article/details/6439814
http://blog.youkuaiyun.com/liuhuiyi/article/details/8239303