Dev - C++ - Saber si estoy al final de una linea de un fichero

 
Vista:

Saber si estoy al final de una linea de un fichero

Publicado por Necesito Ayuda (1 intervención) el 18/11/2007 11:48:11
Hola, tengo una duda que espero me ayudéis a resolver.

El caso es que estoy haciendo un while en el que necesito decir "mientras no sea final de linea, hacer....".

¿Como puedo saber si estoy al final de una línea de un fichero en C++.?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Saber si estoy al final de una linea de un fich

Publicado por popeye (3 intervenciones) el 28/11/2007 00:20:35
1
2
3
4
5
6
while (fichero.peek() != EOF) {
  cout << "de momento no hemos llegado al final de fichero" << endl;
  ...
}
//ya habremos salido del while
cout << "ya llegamos al final del fichero" << endl;

el peek te devuelve a donde apunta el fichero sin mover el puntero.

existe peek() y peekg() ahora no me acuerdo cual era la diferencia, busca en internet para mas informacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber si estoy al final de una linea de un fich

Publicado por AntonioG (28 intervenciones) el 28/09/2008 19:10:32
Hola,

tambien si vas leyendo del archivo, por ejemplo un caracter, el mismo caracter te dice si ya termino el archivo (tambien es usando EOF=end of file),

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
int main()
   {
   FILE *fin;
   char c;
   //abre un archivo para lectura
   fin = fopen("DUMMY.TXT", "rt");
 
   if (fin==NULL)
      {
      printf ("Error en la apertura de ficheros de salida
");
      return 1;
      }
   //si no hubo ningun error se llego a este paso y se lee el primer caracter
   c = fgetc(fin);
   while (c != EOF)//mientras no se llegue al final del archivo hacer...
      {
      c = fgetc(fin);//se lee otro caracter del archivo de entrada
      }
   //se cierra archivo
   fclose (fin);
   return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar