Ayuda con C. Ficheros.

El caso es que estube enfermo un par de dias y me perdi en clase el tema de FICHEROS. Estoy mirando los apuntes y no me acabo de enterar de mucho :?


A ver he hecho esto:


#include
#include

void main ()

{

clrscr();

char file1[] = "C:/saves.sav";

int save;

FILE *fp;

rewind(fp);

fread(&save, sizeof(int), 1, fp);

fp = fopen(file1, "a+");

scanf("%d", &save);

fwrite(&save, sizeof(int), 1, fp);

fclose(fp);

}


Lo unico que quiero, que estoy probando ahora, es que el valor de la variable 'save' se guarde en "C:\saves.sav" y al arrancar otra vez la variable 'save' siga valiendo lo mismo de antes.


Y de paso explicaciones sobre el tema que quiero entenderlo [+risas]
vaya x delante q no soy ningun guru del C ni mucho menos pero t dire q tienes un error claro en tu programa ya q haces un rewind() del fichero sin haberlo abierto ants, de estas manera el programa seguramente compilara pero tndras un error en tiempo de ejecución

Lo q debes hacer es poner la sentencia fp = fopen(file1, "a+"); antes q el rewind(fp);

Y ademas si he entido bien lo q quieres hacer en tu programa q es leer una variable entera d pantalla y añadirla al fichero no necesitarias para nada esta sentencia fread(&save, sizeof(int), 1, fp); con lo q sobraria.

Tu programa deberia ser asi más o menos:

#include
#include

void main ()

{

char file1[] = "C:/saves.sav";

int save;

FILE *fp;

fp = fopen(file1, "a+");

rewind(fp);

scanf("%d", &save);

fprintf(fp,"%d",save);

fclose(fp);

}

Aunq puede ser q no sea esto lo q quieras hacer.

Bueno pruébalo y ya me comentarás

Suerte [bye]
1 respuesta