Anuncios Google

[C] ¿Cómo compruebo si un archivo existe?

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...


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de pspgorrister

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.

Imagen de dj51_Shura

Muchas gracias

aunque Deviante ya me dio una función...

Salu2!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.