Código C:
Ver originalint 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);
}
}
Recorrer un fichero es mucho más sencillo que eso. Los ficheros tienen flags, como eof, para indicar el estado del mismo... para imprimir el contenido de un fichero basta con recorrerlo hasta que el flag eof esté activo:
Código C:
Ver originalint mostrarArchivo(FILE *f){
Amigo aux;
int seguir = 1;
do
{
fread (&aux
,sizeof(Amigo
),1, f
); mostrarAmigo(aux);
} while(seguir);
}
Nota que el flag eof se consulta después de realizar la lectura... esto es porque ese flag no se activa hasta que no se realiza una lectura fallida (entiéndase por fallida que se sobrepasa de alguna forma el final del fichero).
Un saludo.