El int que usaba hasta ahora (para que me devolviese 0 o 1 según existiese el archivo o no) consistía en abrir el archivo en modo de solo lectura, si daba un valor negativo devolvía 0 (no existe) y si era no-negativo (positivo o 0) devolvía 1, es decir, el archivo sí existe. Pero la PSP me devuelve al XMB bajo 'imposible iniciar el juego'!
int sceIoFileExists(const char * sourcefile) { int fd = sceIoOpen(sourcefile, PSP_O_RDONLY, 0777); // La función sceIoOpen devuelve un valor no-negativo, // es decir, 0 o positivo, en caso de que el archivo se pueda abrir. // Si el valor devuelto por la función es negativo, no se // ha podido abrir el archivo. // Esta función se basa en que uno de los motivos // por los que un archivo podría no poder abrirse, // es porque no existe. Pero no funciona >.< if(fd >= 0) { sceIoClose(fd); // Si se ha podido abrir, cerrar el descriptor de archivo return 1; // Devolver 1 (el archivo existe y se puede abrir) } else { return 0; // Devolver 0 (el archivo no existe o no se puede abrir) } }
Si alguien puede ayudarme... GRACIAS ;-)
http://www.mhypnok.blogspot.com/
Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...
Si el fichero existe
Si el fichero existe devolverá un número positivo, que será el handle del fichero, y un handle nunca será 0 (el cero no es positivo ni negativo). Comprueba que no te devuelva cero como error.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Muchas gracias
aunque Deviante ya me dio una función...
Salu2!