带形参的 main
函数,如
int main( int argc, char* argv[], char **env )
是 UNIX
、Linux
以及 Mac OS
操作系统中 C/C++
的 main
函数标准写法,并且是血统最纯正的 main
函数写法。
1. argc、argv的具体含义
-
argc
:(argument count)int
型的argc
,用来统计程序运行时发送给main
函数的命令行参数的个数,在VS
中默认值为 1。 -
argv
:(argument vector)char*
型的argv[]
,字符串数组,用来存放指向字符串参数的指针数组,每一个元素指向一个参数。各个参数以空格分开。
其中:
argv[0]
:指向程序运行的全路径名
argv[1]
:指向在命令行中执行程序名后的第一个字符串
argv[2]
:指向执行程序名后的第二个字符串
argv[3]
:指向执行程序名后的第三个字符串
argv[argv]
:为NULL
- 第三个参数,
char**
型的env
,为字符串数组。env[]
的每一个元素都包含ENVVAR=value
形式的字符串,其中ENVVAR
为环境变量,value
为其对应的值。平时使用到的比较少。
2. 使用示例
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
for(int i=0; i<=argc; i++)
{
cout << "argc[" << i << "] is " << argv[i] << endl;
}
return 0;
}
输出结果:
wohu@wohu:~/C++/OpenCV$ ./example.out a b c
argc[0] is ./example.out
argc[1] is a
argc[2] is b
argc[3] is c
argc[4] is