在c/c++中,argv 和argc 是怎样作为命令行传递至main()的呢??
Running it with ./test a1 b2 c3 will output
在win的命令模式,更换为test.exe a1 b2 c3;
有时需要在visual studio下调试,如vs2013可以在下述路径添加调试参数,属性->配置属性->调试->命令参数,此时不需要再写test.exe,直接写a1 b2 c3就ok了。
argc 是argv数组中字符串的个数,所以argc最小是1,同时其又是一个虚拟变量,用于计算传递参数的个数,如argv[i]。argc/argv的命名只是大家约定俗成的格式,也可写为int main(int num_args, char** arg_strings)。也可忽略参数,写为int main(void);请看下述例程:
#include <iostream>
int main(int argc, char** argv) {
std::cout << "Have " << argc << " arguments:" << std::endl;
for (int i = 0; i < argc; ++i) {
std::cout << argv[i] << std::endl;
}
}
Running it with ./test a1 b2 c3 will output
./test
a1
b2
c3
在win的命令模式,更换为test.exe a1 b2 c3;
有时需要在visual studio下调试,如vs2013可以在下述路径添加调试参数,属性->配置属性->调试->命令参数,此时不需要再写test.exe,直接写a1 b2 c3就ok了。
参考资料 【1】 VS 設定命令參數列