参考:
http://wiki.opencv.org.cn/index.php/Main%E5%87%BD%E6%95%B0%E5%8F%82%E6%95%B0argc%EF%BC%8Cargv%E8%AF%B4%E6%98%8E
C/C++语言中的main函数,经常带有参数argc,argv,如下
int main(int argc, char** argv)
或者
int main(int argc, char* argv[])
参数说明
argc 是指命令行输入参数的个数(以空白符分隔)。注意程序的在此的参数个数包括程序名在内,详细请参考例子。
argv 是一个字符串数组,依次存储了所有的命令行参数,序号从0开始。其中argv[0]对应可执行文件名。
例子
#include <iostream>
using namespace std;
int main(int argc,char *argv[]) {
std::cout<<"参数个数为 "<<argc<<std::endl;
for(int i=0;i<argc;i++){
std::cout<<"第"<<i<<"个参数是 "<<argv[i]<<std::endl;
}
return 0;
}
在linux下,假如我们编译得到了以上程序的可执行文件helloworld,在可执行文件目录下,终端输入命令行:
<pre name="code" class="plain">./helloworld a b c d
则有输出
参数个数为 5第0个参数是 ./helloworld第1个参数是 a第2个参数是 b第3个参数是 c第4个参数是 d
windows下的操作类似,cd到helloworld.exe文件所在目录,然后运行命令行:
helloworld.exe a b c d
以上演示例子也可以在VS或者Eclipse等平台上输入arguments运行出类似结果。