Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/09/2010, 18:57
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Borrar contenido de un archivo

Cita:
Iniciado por sam90 Ver Mensaje
no se si una guardada tiene que solapar a la otra.pero lo que te pasa que al guardar por segunda vez se guarda a continuacion de la otra.... Y cuando lees la partida solo lees la primera y no las que siguen....

Soluciones: si queres guaardar varias partidas, a la hora de leer deberias usar fread varias veces, una por cada partida.

Si la idea es tener una sola partida en ese archivo yo le agregaria :
fseek ( pFile , 0 , SEEK_SET );

antes de fwrite. Esa funcion lo que haces es cambiar el lugar donde se va a escrivir o leer en el proximo llamado. La constate SEEK_SET lo que hace que vuelva al principio de todo.
Me lo sigue guardando al final, lo tengo antes de fwrite.
Código C:
Ver original
  1. void save()
  2. {
  3.     FILE *save;
  4.     save = fopen( "Files/save/partida.hg", "a" );
  5.     fseek (save, 0 , SEEK_SET);
  6.     fwrite(&datos, sizeof(datos), 1, save);
  7.     fclose(save);
  8. }

¡Si!, solo quiero una partida única.

Saludos.