Qual è l'uso di '\n' nel linguaggio C?
Come hanno detto altre risposte, significa "newline". I sistemi operativi della famiglia Unix (MacOS, Linux, ecc.) interpretano anche il carattere "\n" (ASCII 0x0a, lo stesso del linefeed) come newline nei file. Questi sistemi operativi interpretano anche "\r" (ASCII 0x0d, return) per andare all'inizio della linea, che si può usare per fare cose interessanti nel terminale.
C su Windows convertirà "\n" interno in/da "\r\n" esterno, la rappresentazione di Windows della fine della linea (perché nei vecchi tempi della telescrivente si doveva premere return e poi linefeed per finire una linea). Ho sempre detestato la fine delle linee rappresentata come due caratteri perché lascia "\r" e "\n" nudi come ambigui - diversi programmi li trattano in modi diversi. La maggior parte dei protocolli Internet (SMTP, IMAP, ecc.) definiscono la fine delle linee come "\r\n" ma si suppone che accettino "\n".
Pre-Unix Mac OS N (per N < 10) usava solo una "\r" per la fine della linea, anche convertita da "\n" in C a "\r" esternamente.
The Unicode standard defines eight sequences that should be considered ending a line (from Newline - Wikipedia):
- LF: Line Feed, U+000A
- VT: Vertical Tab, U+000B
- FF: Form Feed, U+000C
- CR: Return, U+000D
- CR+LF: CR (U+000D) followed by LF (U+000A)
- NEL: Next Line, U+0085
- LS: Line Separator, U+2028
- PS: Paragraph Separator, U+2029
Didn’t think there was so much to just recognizing and end of line, did you?
Articoli simili
- Qual è la differenza tra linguaggio macchina, linguaggio assembly e linguaggio di alto livello nei computer?
- Qual è la differenza tra un linguaggio assembly e un linguaggio ad alto livello?
- Perché il linguaggio assembly è migliore del linguaggio a livello macchina?
- Il linguaggio assembly è considerato un linguaggio di programmazione funzionale?
- In quale linguaggio di programmazione è codificato Netflix? Come si usa questo linguaggio?