Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Xcode 4中重定向I/O 我刚刚安装了XCODE 4,我试图把文件的输入重定向到我的C++程序。我曾尝试在我的运行方案的“参数”部分使用常用的“_C++_Xcode_Io_Arguments - Fatal编程技术网

在Xcode 4中重定向I/O 我刚刚安装了XCODE 4,我试图把文件的输入重定向到我的C++程序。我曾尝试在我的运行方案的“参数”部分使用常用的“

在Xcode 4中重定向I/O 我刚刚安装了XCODE 4,我试图把文件的输入重定向到我的C++程序。我曾尝试在我的运行方案的“参数”部分使用常用的“,c++,xcode,io,arguments,C++,Xcode,Io,Arguments,谢谢 Samer我使用各种类型的参数进行了测试,似乎Xcode有一个带有参数的bug(上一次测试:Xcode 8) 但有一种方法可以模拟类似的效果。必须使用环境变量 添加具有要重定向的文件名的环境变量: 然后在代码中,您必须将此文件“重定向”到标准输入(cin): 这不是最好的解决方案,但是当xcode有这个问题时,这是唯一的解决方案 Xcode 4似乎有很多初期的问题-除非你需要通过Mac应用商店分发应用程序,否则我建议坚持使用3.2.6,直到我们在Xcode 5.1.1(5B1008)中至

谢谢


Samer

我使用各种类型的参数进行了测试,似乎Xcode有一个带有参数的bug(上一次测试:Xcode 8)

但有一种方法可以模拟类似的效果。必须使用环境变量

添加具有要重定向的文件名的环境变量:

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


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

Xcode 4似乎有很多初期的问题-除非你需要通过Mac应用商店分发应用程序,否则我建议坚持使用3.2.6,直到我们在Xcode 5.1.1(5B1008)中至少达到4.1.1,在“启动时传递的参数”中添加
更新到Xcode 8对于环境变量的值,键入test.txt文件的完整路径(在Mac上,您只需将一个文件拖到空格中即可)。截至2017年2月9日,此解决方案仍然有效!请将答案编辑为“XCode 8”,因为此解决方案可在操作系统Sierra上运行。@Max感谢您的评论(以及在XCode 8中对其进行测试)-立即更新答案谢谢,我希望OP也将问题主题更改为XCode 8。
#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;
}
ifstream arq(getenv("MYARQ"));
cin.rdbuf(arq.rdbuf());