Este post es de mi antigua página web, fecha original Febrero/2011, creo que puede ser útil subirlo de nuevo
Hola,
Revisando en la red encontré un comentario, sino el mismo que encontró David Cadavid, donde se habla de los problemas con el seekg, el enlace es:
http://www.cplusplus.com/forum/beginner/23533/]http://www.cplusplus.com/forum/beginner/23533/
En este comentario, el usuario Galik propone usar el método std::ios::clear() ya que “That will clear any eof or other error flags from the previous search.”, en español: el método std::ios::clear() borra cualquier condición anterior en las banderas de estado del archivo, permitiendo la correcta operación del método std::istream::seekg
La recomendación es: antes de usar el istream::seekg inicializar las banderas del archivo con ios::clear().
Para ilustrar ésto hice unos ejemplos que anexo a continuación:
creaArchivo.cpp
buscaDato.cpp