简体   繁体   中英

Redirecting I/O in Xcode 4

I just installed Xcode 4 and I'm trying to redirect input from a file to my C++ program. I've tried using the usual "< infile.txt" in the "Arguments" section of my Run scheme, but that didn't work. I was able to redirect input and output in Xcode 3 just fine (by editing the arguments for the executable). Any suggestions on how to do this in the new version?

Thanks!

Samer

I tested with various types of Arguments and it appears that Xcode have a bug with Arguments (last test: Xcode 8).

But there is one alternative to simulate with similar effect. You must use the Environment Variables.

Add a Environment Variable with the file name you want to redirect:

在此输入图像描述

Then in your code you must "redirect" this file to the standard input (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;
}

that's it... only 2 lines of code

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

it's not the best solution, but while xcode have this problem this is the only solution !

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM