微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c++ 在Xcode 4中重定向I/O

我刚刚安装了Xcode 4,我正在尝试将文件中的输入重定向到我的C程序。我尝试在我的运行方案的“参数”部分中使用通常的“< infile.txt”,但这没有工作。我能够重定向Xcode 3中的输入和输出就好了(通过编辑可执行文件的参数)。关于如何在新版本中做任何建议? 谢谢! 萨

解决方法

我用各种类型的参数测试,看来Xcode有一个参数错误(最后一个测试: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;
}

就是它只有2行代码

ifstream arq(getenv("MYARQ"));
cin.rdbuf(arq.rdbuf());

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐