Ayuda con fichero ?

Iniciado por <<<-Basura->>>, 7 Octubre 2011, 23:15 PM

0 Miembros y 1 Visitante están viendo este tema.

<<<-Basura->>>

este es el código:


int lineas(FILE *file){
int contador = 0;
while(!feof(file)){
contador++;
}
return contador;
}


Bueno es una función que la estoy haciendo para que devuelva cuantas lineas hay en el fichero, pero tiene un problema, como hago para recorrer linea con linea, así como esta lo que hace es posicionarse en la primera linea del fichero y se queda hay infinitamente AYUDA   :huh:
<<<--Basura-->>>

rir3760

Es un bucle infinito ya que no realizas ninguna operacion de lectura.

Leer lineas es contar el numero de caracteres '\n' en el archivo, eso lo consigues con:
int lineas(FILE *file)
{
   int ch;
   int num_lineas;
   
   num_lineas = 0;
   while ((ch = fgetc(file)) != EOF)
      if (ch == '\n')
         num_lineas++;
   
   return num_lineas;
}


Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language