我正在尝试使用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。
答案 0 :(得分:4)
<
实际上是由shell解释的(当使用终端和命令行时)。如果是Xcode,则不涉及shell,因此您无法将输入传输到stdin
。
您必须在进程中打开文件(在argv[1]
中)并使用文件描述符而不是stdin。