Hola, tengo este codigo, y parece que funciona, pero a la hora de la verdad las monedas no aparecen al encender al ds, ¿Alguien ve el erroe, o lo que falta? A por cierto el archivo ,me compila correctamente y solamente he puesto la parte del FAT
// Includes #include <PA9.h> #include <fat.h> u32 monedas; int main(int argc, char ** argv) { PA_Init(); // Initializes PA_Lib PA_InitVBL(); // Initializes a standard VBL if(fatInitDefault()==0){ PA_OutputSimpleText(1,0,0,"FAT error"); while(1){ PA_WaitForVBL();} } if(access("RodixsTic.sav") != 1){ FILE * salvado = fopen("RodixsTic.sav","w+"); } if(access("RodixsTic.sav") == 1){ FILE * salvado = fopen("RodixsTic.sav","rb"); fread(&monedas,4,sizeof(monedas), salvado); fclose(salvado); } while (1) { if(Pad.Newpress.A){ FILE * salvado = fopen("RodixsTic.sav","wb"); fwrite(&monedas,4,sizeof(monedas), salvado); fclose(salvado); } PA_WaitForVBL(); } return 0; }
El problema probablemente lo
El problema probablemente lo tengas aquí:
Deberías usar if-else, y también te recomiendo que cierres el archivo una vez creado por primera vez, porque el resto de veces lo intentas abrir y puede que te encuentres con que ya está abierto:
¡Saludos!
Proyectos en curso
El Taller de Eglomer
Lo siento, pero despues de
Lo siento, pero despues de ponerlo como dices tu siguen sin guardarse las monedas...
Claro. Es que no has puesto
Claro. Es que no has puesto ningún valor a monedas xDD Prueba a ponerle algún valor antes de guardar los datos en el archivo.
Proyectos en curso
El Taller de Eglomer
si que le doy valor, juego,
si que le doy valor, juego, consigo unas monedas, guardo con A, y cuando la enciendo monedas sigue siendo 0
fread(&monedas,4,sizeof(moned
Cambia el 4 por un 1 a ver.
Digo yo
y sólo digo, porque FAT no es mi fuerte. ¿La función para escribir no sería fwrite? Porque estás usando fread...
Salu2
sigue sin guardar...
sigue sin guardar...
Lo has cambiado también en el
Lo has cambiado también en el fwrite?
De todas formas, podrías comprobar si se abren bien los archivos o si dan problemas con un:
if (salvado == NULL){
// Mensaje de error
}
Proyectos en curso
El Taller de Eglomer
prueba con esto a ver si funciona
:D:D:D:D:D:D:D:D
toooooooooomaaaaaaaaa si tio gracias, te quiero, gracias por resolverme la duda, joder, ya se que borraran mi comentario por poner esto pero eres el EDITADO AMO gracias por conseguir que se guarden las monedas, no sabes la alegria que me he llevado al ver que se han guardado, estoy escribiendo este comentario con una sonrisa de lado a lado
EDITADO: Si sabemos lo que pasará, es mejor prevenir que curar...
de nada
si quisieras guardar mas de un dato en tu sav podrias hacerlo asi y guardarias y leerias todo en el .sav de golpe:
solo tendrias que cambiar en los fread y fwrite monedas por sav o el nombre que le dieses a la estructura "fwrite(&sav,1,sizeof(sav), salvado);"
lo siento mucho... me deje
lo siento mucho... me deje llevar por la emoción del momento
si, lo he cambiado en los
si, lo he cambiado en los dos, "ahora" comprobare si se habre bien el archivo
Se te ha ocurrido abrir desde
Se te ha ocurrido abrir desde el pc el archivo que generas con el notepad, a ver si hay los datos que se supone que grabas?
si, si que lo pense, guardar
si, si que lo pense, guardar en un archivo .txt y abrirlo para verlo, pero solo me salen cuadraditos