Le retour chariot de Windows est \r\n
alors que c'est \n
sous Unix, c'est \r\n
traité comme deux personnages?
Ce sont deux personnages:
\r
est le retour chariot;\n
est un saut de ligne.Deux caractères combinés représentent une nouvelle ligne sous Windows. Alors que sous Linux, \n
représente la nouvelle ligne. Il déplace le curseur au début de la nouvelle ligne sous Linux. Sous Windows, le curseur reste dans la même colonne de la console mais sur la ligne suivante.
\r
sur Linux a le même effet que sur Windows: déplace le curseur au début de la ligne. Il est possible d’imprimer différentes informations sur la même ligne où \r
est utilisé à la place de \n
.
En fait, \r is 0x0D (^M) and \n is 0x0A (^J)
, mais ..... sous Windows:
\n will write 0x0D 0x0A
sous unix:
\r will write 0x0D
\n will write 0x0A
Dépend du réglage. \r\n
A une largeur de deux octets (en ASCII, UTF-8, etc.), mais les bibliothèques d'E/S telles que la bibliothèque stdio
de C et d'autres, lorsqu'elles fonctionnent en mode texte, peuvent traduire entre \n
Et \r\n
De manière quasi transparente.
Sur une plate-forme Windows, un programme C lisant un flux en mode texte txt_in
Avec
while ((c = getc(txt_in)) != EOF)
printf("%02x\n", c);
ne signalera pas le code ASCII pour \r
. À l'inverse, putc('\n', txt_out)
écrira en fait \r\n
dans le flux en mode texte txt_out
.
Windows ne fait pas la distinction entre \r\n
et deux autres personnages. Cependant, il existe une situation dans laquelle il est traité comme un caractère: si vous utilisez le runtime C et ouvrez un fichier sous forme de texte, \r\n
dans le fichier sera lu comme \n
, et \n
sera écrit dans le fichier sous la forme \r\n
.
Oui, ce sont deux caractères: retour chariot '\ r' suivi du saut de ligne '\ n'.
J'ai effectué des tests (rien d'extraordinaire) avec Notepad ++ et Sublime Text 2 sous Windows, et il s'avère que \r
et \n
sont bien 2 caractères distincts, mais ...
Différents éditeurs de texte peuvent insérer ou ne pas insérer \r
lorsque la touche Retour est enfoncée
Essayez ce qui suit dans votre éditeur de texte:
1
2
3
4
5
Appuyez ensuite sur Ctrl + F , activez les expressions régulières et recherchez \r
. En fonction de votre éditeur de texte et de ses paramètres, vous pouvez "taper" ou "ne pas taper" sur un caractère à la fin de chaque ligne. Si le texte ci-dessus est copié-collé depuis un autre éditeur, le comportement peut également différer ...
Certains éditeurs de texte autorisent des personnalisations dans leurs paramètres, où vous pouvez spécifier si vous préférez \r\n
ou style unix \n
à insérer lorsque vous appuyez sur Retour . En plus de cela, ils peuvent vous permettre de choisir appliquer un style cohérent en supprimant ou en insérant le \r
caractère avant de sauvegarder un fichier.