Sotto Windows e sotto Linux l'acapo viene codificato in modo diverso per questioni storiche che risalgono agli anni 70.
Tanto per intenderci, il \r e' carriage return (ritorno carrello) e il \n e' newline (nuova linea) e sono termini che venogono pari pari dalle stampanti, assurdamente adattati ai computer nei vecchi anni 70. Tanto per intenderci, l'effetto era questo sulla stampante
Frase: ciao pippo sono pluto\ne tu sei topolino
risultato:
codice:
ciao pippo sono pluto
e tu sei topolino
Frase: ciao pippo sono pluto\r\ne tu sei topolino
risultato:
codice:
ciao pippo sono pluto
e tu sei topolino
Roba antica, come puoi supporre. Alcuni hanno scelto che il \r\n e' assolutamente una cazzata (e francamente non posso che dargli ragione, va giusto bene per le stampanti a margherita) e quindi il \n oggi fa sia il \r che il \n
Questa cosa agghiacciante ce la portiamo dietro da sempre e ha causato problemi a tutti, da una vita. Di solito la fopen pero' permette di specificare come aprire il file per i sistemi (come windows) che differenziano i file di testo dai file binari (anche qui ci sarebbe da discutere), facendo la conversione automatica dei \r\n in soli \n