Estoy intentando cargar un archivo separado por comas llamado POSDATA.GAMEDATA
. He buscado varios sitios en Internet y resulta que necesito hacer algunos ajustes y/o una clase diferente.Archivo de E/S con COCOS2D-X
Intenté usar ifstream
. Sin embargo, no puede abrir el archivo. Xcode 4.3.2 parece que no puede encontrar mi archivo POSDATA.GAMEDATA
. También intenté hacer el archivo usando ofstream
pero cuando uso open()
en ambos casos, el archivo no se abre.
Mi código es algo como esto:
using namespace std;
void FileLoader::loadFile(string p_WhichFile) {
// Local Variables
string thisLine;
// Open POSDATA.GAMEDATA
ifstream dataStream;
dataStream.open(p_WhichFile.c_str());
// Check if file is opened
if (!dataStream) {
cerr << "[ ERROR ] Cannot load file:" << p_WhichFile.c_str() << endl;
exit(1);
}
// Get lines of strings
while (getline(dataStream, thisLine)) {
fileContents.push_back(thisLine); // fileContents is a vector<string> object
}
dataStream.close();
cout << "[ NOTICE ] Finished reading file" << p_WhichFile << endl;
}
que he visto CCFileUtils
pero me parece que no puede llegar a usarlo.
EDIT: He intentado suministrar la ruta absoluta (/Users/LanceGray/Documents/LanceDev/COCOS2DX/cocos2dx/TestGame/Data/POSDATA.GAMEDATA
) y funcionó. Sin embargo, no puedo hacer esto porque se supone que el juego se usa en dispositivos iOS y Android, por lo que la ruta no siempre es la misma en cada dispositivo. Cualquier ayuda será muy apreciada.
lo está haciendo en Android o iOS? si android o si está planeando admitir ambas, supongo que será mejor que use CCFileUtils para evitar entrar en la librería zip. Por otro lado, si iOS, puedes usar fopen. No estoy muy familiarizado con ifstream, no puedo ayudar mucho. –
Se supone que es para iOS y Android. ¿Puedes dar un pequeño ejemplo sobre cómo usar 'CCFileUtils' y' fopen'? Trataré de buscarlos mientras tanto. – alxcyl