在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());