Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/07/2016, 02:36
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Archivos y Listas enlazadas simples en C

Código C:
Ver original
  1. int mostrarArchivo(FILE *f){
  2.   Amigo aux;
  3.   int numReg = ftell(f)/sizeof(Amigo),i;
  4.   for(i=0;i<numReg;i++){
  5.     fseek (f, i*sizeof(Amigo), SEEK_SET);
  6.     fread (&aux,sizeof(Amigo),1, f);
  7.     mostrarAmigo(aux);
  8.   }
  9. }

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 original
  1. int mostrarArchivo(FILE *f){
  2.   Amigo aux;
  3.   int seguir = 1;
  4.   do
  5.   {
  6.     fread (&aux,sizeof(Amigo),1, f);
  7.     if( seguir = !feof(f) )
  8.       mostrarAmigo(aux);
  9.   } while(seguir);
  10. }

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.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.