加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 02:01:51 所属栏目:百科 来源:网络整理
导读:我刚刚安装了Xcode 4,我正在尝试将文件中的输入重定向到我的C程序。我尝试在我的运行方案的“参数”部分中使用通常的“ infile.txt”,但这没有工作。我能够重定向Xcode 3中的输入和输出就好了(通过编辑可执行文件的参数)。关于如何在新版本中做任何建议?
我刚刚安装了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有这个问题,这是唯一的解决方案!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读