PDA

Ver la Versión Completa : Problema con ifstream y Tellg


eljose
21-11-2006, 11:45:16
Hola.

De nuevo un problema. He buscado en muchos tutoriales sobre ifstream, pero todos ponen el ejemplo de calcular el tamaño del fichero. Yo quiero hacer algo diferente.

Primero el código:


ifstream::pos_type posicion = F.tellg(); //guardo esta posición porque luego la necesito

char fin=',';
int cont=0;

while(fin==','){
char nota[7];
F.get(nota,7);
cont++;
fin=nota[5];
}
cout << '\n' <<cont;

F.seekg(posicion , ios_base::beg);
/*ahora va otra vez un bucle que debería empezar en el mismo sitio. Pero no lo hace empieza una linea antes*/


Es un archivo de texto con saltos de linea, pero el bucle se hace en una linea sólo. Yo creia que si ponía un tellg() y luego un seekg() con el resultado del primero podría empezar exactamente en el mismo sitio donde empieza el while. Pero no lo consigo, me posiciona una linea antes.
Lo podría arreglar poniendo un getline(), pero me parece una chapuza.
¿Qué hago mal?

Gracias.