int main(int argc,char*argv[])参数详解
对于C/C++程序编写时,一个程序中主函数是不可或缺的。对于主函数main我们一般接触过这么两种形式的主函数:带参数和不带参数两种
1)int main();
2)int main(int argc,char**argv)(或int main(int argc,char*argv));
大多数人因为编写习惯的原因,使用最多的就是第一中形式,采用这种风格编写的程序一般对于输入参数都在函数体中;而对于下面这种风格的编写的程序其输入参数一般都从项目属性->配置属性->调试->命令参数处输入。
其实: int main(int argc,char *argv) 是 UNIX 和 Linux 中的标准写法,血统最为纯正的一种编写风格,而 int main() 只是 UNIX 及 Linux 默许的用法,属于简化版偷懒式风格。
下面详细介绍一下带参数的主函数中参数的含义。
1. argc表示的从命令参数项输入的参数个数(默认为1,用于保存.exe);
2. argv表示存储的命令行参数;(参数第一个保存的均是该程序的.exe)
可能这样说还是有人不太理解,那就直接上代码得了。在上面的命令参数项(上图Demo处)输入:hello tom karry
#include<iostream>
#include<stdio.h>
int main(int argc, char**argv)
{
using namespace std;
for (int i = 0; i < argc; i++)
printf("argument %d is %s\n", i, argv[i]);
return 0;
}
运行结果如下:
估计通过上面的程序应该就能很清楚的了解到带参数的main()各参数表达的含义啦。