\n
è un carattere di avanzamento riga (LF), codice carattere 10. \r
è un carattere di ritorno a capo (CR), codice carattere 13. Quello che fanno differisce da sistema a sistema. Su Windows, per esempio, le linee nei file di testo sono terminate usando CR seguito immediatamente da LF (ad esempio, CRLF). Sui sistemi Unix e sui loro derivati, viene utilizzato solo LF. (I Mac precedenti a Mac OS X utilizzavano CR, ma Mac OS X è un derivato * nix e quindi utilizza LF.)
In passato, LF faceva letteralmente solo un avanzamento di riga sulle stampanti (spostandosi verso il basso di una riga senza spostarsi dove si è orizzontalmente sulla pagina), e CR è tornato all'inizio della riga senza spostando la carta verso l'alto, quindi alcuni sistemi (come Windows) inviando CR (ritorno a sinistra) e LF (e alimentare la carta in alto).
A causa di questa confusione, alcuni target di output accettano più sequenze di interruzione di riga, quindi è possibile vedere lo stesso effetto da entrambi i caratteri a seconda di cosa si sta generando.
fonte
2012-02-13 12:01:29
@ T.J.Crowder: Ti dispiace [modificare] per rendere più chiara questa distinzione? – Will
@Will: Ho pensato che fosse perfettamente chiaro in primo luogo, ma a quanto pare non è stato dato il voto ravvicinato. :-) Ho aggiunto un poscritto. –