在代码中设置char ** argv

时间:2012-10-16 13:23:06

标签: c++ visual-c++ argv

所以我有一个名为prog.exe的程序,以

开头
int main(int argc, char** argv)

我传递给它的参数是

prog.exe news-rec

或     prog.exe news-rec -t -p

如何在代码中配置这些参数的值,以便我不必从命令行运行该程序。

例如

prog.exe news-rec

我认为argc = 1但是如何配置argv会是什么? 我试着做了

argv[0] = "news-rec";

但这不起作用

2 个答案:

答案 0 :(得分:2)

因为argv[0]包含可执行文件本身的名称。尝试

argc = 2;
argv[1] = "news-recc";

答案 1 :(得分:2)

您不需要在命令行参数中提供 prog.exe ,因为exe名称始终是 argv [0] ,即第一个参数。除此之外,您可以根据需要在 argv 中存储任意数量的参数,ex ::

argv[1] = "new-rec" ;
argv[2] = "-t" ;
argv[3] = "-p" ;

依旧......

从标记中假设您正在使用Visual Studio,您可以尝试::

项目标签 - >属性 - >配置属性 - >调试然后在(命令参数)下的右侧输入,要传递的参数排除 prog.exe argc 会自动计算您传递的参数数量。