很多时候,C++生成exe然后在命令行中运行,会找不到dll,并且不容易进行代码调试,对main(int argc, const char** argv)参数直接进行赋值,能够直接对程序调试和运行相应得结果:
具体方法如下,详情看代码注释::
int
main(int argc, const char** argv)
{
// 当刚进来时,argc=1,argv[0]为exe的路径
//argc是一共有多少个参数
argc = 2;
std::string aa = "-s";
argv[1] = const_cast<char*>(aa.c_str());;
// 如果需要再添加参数,argc继续加一,argv继续按照上面方式赋值
//查看是否赋值正确
int i;
for (i = 0; i < argc; i++)
printf("Argument %d is %s\n", i, argv[i]);
return 0;
}
参考文档:
1.解析命令行参数,main(int argc, const char** argv)参数测试: https://blog.csdn.net/dgreh/article/details/80985928
2.对argv赋值时,string、char *、char[] 相互转换转换 https://blog.csdn.net/mpp_king/article/details/88758019