0

所以我有一个名为 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";

但这不起作用

4

2 回答 2

3

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

argc = 2;
argv[1] = "news-recc";
于 2012-10-16T13:24:32.957 回答
2

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

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

等等...

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

项目选项卡-> 属性-> 配置属性-> 调试,然后在 (Command Arguments) 下的右侧输入要传递的参数,包括prog.exeargc将自动计算您传递的参数数量。

于 2012-10-16T13:27:28.797 回答