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

Xcode won't pass arguments to C++ executable

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

string line;
getline(cin, line);

我有一个名为 input.txt 的输入文件,我通常像这样传递到可执行文件中:

./verti < input.txt

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

我 运行 Xcode 6.3.1 OS X 10.10.1.

< 实际上由 shell 解释(当使用终端和命令行时)。在 Xcode 的情况下,不涉及 shell,因此您不能通过管道将输入传递给 stdin

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