Antes de nada quiero que sepas que mi teoría esta basada en mi mis conocimientos y puede ser erronea la explicación que te voy a dar.
He estado mirando en la documentación y no he encontrado respuesta, solo puedo comentarte que si quieres trabajar mejor con el fichero crees un puntero a los datos y no los vayas leyendo poco a poco. Puede que las funciones que estás usando para leer el archivo caracter a caracter supriman los saltos de línea.
Por otra parte quiero que sepas que '\n' no es un solo caracter... No te lo explico, te lo muestro

#include <stdio.h>
int main()
{
char JmpLine[2] = {0};
JmpLine[0] = 10;
JmpLine[1] = 13;
JmpLine[2] = 0;
printf("Una linea %s Otra linea",JmpLine
);
return 0;
}
saludos y espero resolver tu duda.
saludos.