Xcode不会将参数传递给C ++可执行文件

时间:2015-05-13 12:47:17

标签: c++ xcode debugging command-line-arguments

我正在尝试使用Xcode调试C ++项目。我的程序通过stdin查找输入,如下所示:

string line;
getline(cin, line);

我有一个名为input.txt的输入文件,我通常将其传递给可执行文件:

./verti < input.txt

为了在Xcode中调试时完成同样的事情,我添加了一个参数,在Product&gt;的启动时传递。方案&gt;编辑方案...&gt;运行&gt;值为< input.txt的参数。文本文件与可执行文件位于同一个工作目录中,但是当我构建/运行程序时,文本文件没有被传入。程序只是等待它应该接收的输入。如果你们能提供任何见解,那将是非常有帮助的。

我在OS X 10.10.1上运行Xcode 6.3.1。

1 个答案:

答案 0 :(得分:4)

<实际上是由shell解释的(当使用终端和命令行时)。如果是Xcode,则不涉及shell,因此您无法将输入传输到stdin

您必须在进程中打开文件(在argv[1]中)并使用文件描述符而不是stdin。