Подтвердить что ты не робот

Перенаправление ввода-вывода в Xcode 4

Я только что установил Xcode 4, и я пытаюсь перенаправить ввод из файла в мою программу на С++. Я попытался использовать обычный "< infile.txt" в разделе "Аргументы" моей схемы запуска, но это не сработало. Я смог перенаправить ввод и вывод в Xcode 3 просто отлично (путем редактирования аргументов для исполняемого файла). Любые предложения о том, как это сделать в новой версии?

Спасибо!

Самер

4b9b3361

Ответ 1

Я тестировал различные типы аргументов и обнаружил, что Xcode имеет ошибку с аргументами (последний тест: Xcode 8).

Но есть одна альтернатива симуляции с аналогичным эффектом. Вы должны использовать переменные окружения.

Добавьте переменную окружения с именем файла, которое вы хотите перенаправить:

enter image description here

Затем в вашем коде вы должны "перенаправить" этот файл на стандартный ввод (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 имеет эту проблему, это единственное решение!