Не могу прочитать файл из программы C ++ на Mac - PullRequest
2 голосов
/ 16 августа 2011

Прежде всего, это часть моего кода:

....
string input;
getline(cin, input);

ifstream openFile;
openFile.open(input.c_str(), ios::in);

if(openFile.is_open()){
    cout << "File opened" << endl;
}  
else {
    cout << "Cant open the file " << endl;
}

Результат всегда "Не могу открыть файл".Я очень, очень уверен, что файлы существуют.У меня есть data1.txt, data2.txt ... data10.txt в том же каталоге (я использовал XCode, чтобы добавить новый пустой файл, добавить данные внутри и сохранить его).

Я делаю еще один тест, создаю новый каталог, копирую, вставляю файлы cpp и data.Я бегу в терминале, и он работает, он может прочитать файл данных.Почему xcode не может прочитать мои файлы данных?Есть идеи?

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Вам необходимо указать полный путь к файлам.Xcode запустит приложение из каталога сборки, который находится не там, где находится код.

Если файлы копируются как часть сборки приложения OSX или iOS, вы должны взглянуть на структуру пакета найти каталог.

1 голос
/ 16 августа 2011

Вы можете указать Xcode запускать исполняемый файл из каталога, содержащего файлы данных.

Откройте информационный диалог для целевого исполняемого файла и измените значение для «Установить рабочий каталог на:» либо накаталог проекта или пользовательский каталог '

...