我刚刚安装了Xcode4,我正在尝试将输入从一个文件重定向到我的C++程序。我试着在我的运行方案的“参数”部分使用通常的"< infile.txt“,但不起作用。我能够很好地重定向Xcode3中的输入和输出(通过编辑可执行文件的参数)。在新版本中如何做到这一点有什么建议吗?
谢谢!
萨默尔
发布于 2011-05-25 04:06:58
我测试了各种类型的参数,发现Xcode的参数似乎有一个bug (最后一次测试:Xcode8)。
但有一种替代方案可以模拟类似的效果。您必须使用环境变量。
添加一个带有要重定向的文件名的环境变量:
然后,在您的代码中,您必须将此文件“重定向”到标准输入(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;
}
就这样..。只有两行代码
ifstream arq(getenv("MYARQ"));
cin.rdbuf(arq.rdbuf());
这不是最好的解决方案,但是虽然xcode有这个问题,但这是唯一的解决方案!
https://stackoverflow.com/questions/5490175
复制相似问题