Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: <<<-Basura->>> en 7 Octubre 2011, 23:15 pm



Título: Ayuda con fichero ?
Publicado por: <<<-Basura->>> en 7 Octubre 2011, 23:15 pm
este es el código:

 
Código
  1. int lineas(FILE *file){
  2. int contador = 0;
  3. while(!feof(file)){
  4. contador++;
  5. }
  6. return contador;
  7. }
  8.  

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:


Título: Re: Ayuda con fichero ?
Publicado por: rir3760 en 8 Octubre 2011, 03:43 am
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:
Código
  1. int lineas(FILE *file)
  2. {
  3.   int ch;
  4.   int num_lineas;
  5.  
  6.   num_lineas = 0;
  7.   while ((ch = fgetc(file)) != EOF)
  8.      if (ch == '\n')
  9.         num_lineas++;
  10.  
  11.   return num_lineas;
  12. }

Un saludo