Parce qu'il y a deux modes d'ouverture de fichier: binaire et texte.
En mode texte, sous windows, les fins de lignes sont "\r\n", alors que dans le code source C, c'est "\n".
C'est le travail...