Tener problemas con fstream en Xcode
Tengo problemas para validar la existencia de REGISTER.txt para fines de entrada en una función (ver más abajo). Mi entendimiento es que si el archivo no existe, entonces el archivo no se abrirá y la variable de flujo de archivos (inData) será falsa. Por lo tanto, puedo usar esa variable en una sentencia if / else para verificar si se abrió o no. Pero aunque REGISTER.txt está en el mismo directorio que mi archivo .cpp, mi código todavía dice que no se abrió.
Aquí está la cosa sin embargo. Cuando ejecuto el mismo código exacto en el compilador Dev-C ++, funciona bien y se encuentra el archivo. Ahora, entiendo que los compiladores son diferentes, pero no entiendo qué está causando la discrepancia aquí. Mi IDE preferido es Xcode, por lo que me gustaría aprender a hacer E / S con archivos en Xcode.
Gracias de antemano por la ayuda.
PD Mi proyecto Xcode hace referencia al archivo, por lo que no es como si el proyecto no estuviera conectado con el archivo.
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();
}
En mi función principal (), tengo el siguiente código para indicar al usuario que se ha producido un error:
if (error) {
//Function encountered error. Exits program
system("PAUSE");
return 99;
}
EDITAR Pasé 40 minutos tratando de resolver esto, 15 escribiendo la pregunta y 5 minutos después de publicarla, progresé mucho. ¿No te gusta eso?
Puse en el directorio completo al archivo y eso hizo el truco.
Sin embargo, esto no es lo ideal. La siguiente pregunta es ¿cómo evito tener que hacer eso? ¿Cuál es el directorio predeterminado para Xcode?