S'il vous plait, spiky31, lisez ce que les autres ont écrit précédemment. Cela peut vous apporter des informations utiles.
Par exemple, je disais plus haut, le '\n' que l'on appelle aussi Line Feed ou par ses intiales LF n'est pas forcément présent dans le fichier. On peut avoir seulement des '\r' que l'on appelle aussi Carriage Return ou par ses initiales CR.
Et j'avais même oublié un autre cas, qui devient de plus en plus courant qui est celui des fichiers Unicode. Alors, on a deux octets par caractères au lieu d'un seul. Il faut donc tester les doubles octets : 0x00 0x0A, 0x00 0x0D, 0x20 0x28, et 0x20 0x29. Par exemple, dans le cas de l'Unicode, si on ne testait que 0x0A, sans tester 0x00 avant, alors on risquerait de tomber sur un caractère qui ne serait pas un caractère de fin de ligne. On aurait un faux positif.
Il y a aussi les cas des variantes de l'Unicode que sont l'UTF8 et de l'UTF16.
Sans parler de l'EBCDIC où le LF est codé par 0x15.
Bref, cela peut paraître simple, mais cela ne l'est pas tant que cela, surtout si on ne sait pas au début quel type de fichier on va traiter.
Voir les articles http://fr.wikipedia.org/wiki/Fin_de_ligne , et sa version en anglaise http://en.wikipedia.org/wiki/Newline , plus complète, qui donne même des cas que je n'ai pas évoqués.