Возникли проблемы с fstream в Xcode
У меня проблемы с проверкой существования REGISTER.txt для целей ввода в функцию (см. Ниже). Насколько я понимаю, что если файл не существует, файл не будет открыт и переменная потока файла (inData) будет ложной. Таким образом, я могу использовать эту переменную в операторе if / else, чтобы проверить, открыта она или нет. Но даже несмотря на то, что REGISTER.txt находится в той же директории, что и мой файл .cpp, в моем коде все еще говорится, что он не был открыт.
Вот вещь, хотя. Когда я запускаю тот же самый точный код в компиляторе Dev-C ++, он работает нормально, и файл найден. Теперь я понимаю, что компиляторы разные, но я не понимаю, что вызывает несоответствие здесь. Мой предпочтительный IDE - XCode, поэтому я хотел бы узнать, как выполнять ввод-вывод с файлами в XCode.
Заранее спасибо за помощь.
Постскриптум Мой проект Xcode ссылается на файл, поэтому проект не связан с файлом.
void ReadVehicleRegInfo(char& vehicleType, string& licensePlate,
int& modelYear, float& origTaxValue, bool& error)
{
ifstream inData;
string inputFile = "REGISTER.txt";
inData.open(inputFile.c_str()); //File contains registration info
if (!inData) {
//File does not exist. Exit function
cout << inputFile << " does not exist. Program will now terminate"
<< endl << endl;
error = true;
return;
} else {
//File exists - continue with program
cout << inputFile << " found";
}
inData.close();
}
В моей функции main () у меня есть следующий код, чтобы сообщить пользователю, что произошла ошибка:
if (error) {
//Function encountered error. Exits program
system("PAUSE");
return 99;
}
РЕДАКТИРОВАТЬ Я потратил 40 минут на то, чтобы понять это, 15 написал вопрос и через 5 минут после его публикации я добился огромного прогресса. Тебе это не нравится?
Я положил в полный каталог к файлу, и это добилось цели.
Однако это не идеально. Следующий вопрос: как мне избежать этого? Что такое каталог по умолчанию для Xcode?