Lo he resuelto
Me respondieron en el :
Esto es debido a que lee "una parte" y otra no de la ultima línea del fichero. Por ejemplo, el fichero es de 420 bytes y la tabla con la que lee es de 80, en la ultima iteración quedarán 20 bytes descolgados (80 * 5 = 400) por lo que leerá 20 bytes bien y 60 vacíos.
Para solucionarlo declare una variable tipo i para almacenar el lenght de cada registro leído para validar que sea diferente de 0 posteriormente.