Hola,
¿Puede ser que te de un numero raro que signifique EOF, fin del fichero?, si es asi, cuando llegues al final del fichero, calcula cuantos tienes, y ese será el ultimo
algo así:
if (fichero->eof())
{
// calculas el numero de elementos,
numero_registro= numero_elementos_calculados
}
si no es algo asi, pon más datos