Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/07/2016, 06:57
matiri90
 
Fecha de Ingreso: abril-2016
Ubicación: Cordoba
Mensajes: 22
Antigüedad: 8 años, 8 meses
Puntos: 1
Respuesta: Archivos y Listas enlazadas simples en C

Ahi arregle la funcion "mostrarArchivo", que funciona..
Lo que si, tengo error de que si le paso una lista con 2 elementos, en el archivo al hacer..

Cita:
int numeroRegistros = ftell(f)/sizeof(Amigo);
Devuelve 5.. Cosa que deberia devolver 2, ya que agregaria 2 elementos.
No se cual es el error, puede que este reservando mal el lugar para el archivo..
Entonces al mostrar, me muestra los 2 correctos, pero despues lo demas me muestra basura..

Cita:
int mostrarArchivo(FILE *f){
Amigo aux;
int numReg = ftell(f)/sizeof(Amigo),i;
for(i=0;i<numReg;i++){
fseek (f, i*sizeof(Amigo), SEEK_SET);
fread (&aux,sizeof(Amigo),1, f);
mostrarAmigo(aux);
}
}
Abajo dejo las demas funciones

Cita:
int guardarArchivo(FILE *f,Lista *l){
Persona *aux=l->inicio;
Amigo a;
int i=1;
while(aux){
a=aux->dato;
fwrite((Amigo *)&a,i*sizeof(Amigo),i,f);
aux=aux->sig;
i++;
}
return 0;
}