在Xcode 4中重定向I/O.

Sam*_*mer 19 c++ io xcode arguments

我刚刚安装了Xcode 4,我正在尝试将输入从文件重定向到我的C++程序.我尝试在我的Run方案的"Arguments"部分中使用通常的"<infile.txt",但这不起作用.我能够很好地重定向Xcode 3中的输入和输出(通过编辑可执行文件的参数).有关如何在新版本中执行此操作的任何建议?

谢谢!

萨默尔

Far*_*nen 8

我测试了各种类型的Arguments,看起来Xcode有一个Arguments的错误(最后一个测试:Xcode 8).

但是有一种替代模拟具有类似效果.您必须使用环境变量.

使用要重定向的文件名添加环境变量:

在此输入图像描述

然后在您的代码中,您必须将此文件"重定向"到标准输入(cin):

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main (int argc, const char * argv[])
{
    ifstream arq(getenv("MYARQ"));
    cin.rdbuf(arq.rdbuf());

    string value;
    cin >> value;
    cout << value;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

就是这样......只有2行代码

ifstream arq(getenv("MYARQ"));
cin.rdbuf(arq.rdbuf());
Run Code Online (Sandbox Code Playgroud)

它不是最好的解决方案,但是当xcode有这个问题时,这是唯一的解决方案!