Ver Mensaje Individual
  #1  
Antiguo 21-11-2006
eljose eljose is offline
Miembro
 
Registrado: oct 2006
Posts: 12
Reputación: 0
eljose Va por buen camino
Problema con ifstream y Tellg

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:

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.
Responder Con Cita