Est-ce que Windows retour chariot \r\n composé de deux caractères ou un personnage?
Windows retour chariot est \r\n
alors qu'il est \n
dans Unix, est \r\n
traités comme deux personnages?
Vous devez vous connecter pour publier un commentaire.
Windows retour chariot est \r\n
alors qu'il est \n
dans Unix, est \r\n
traités comme deux personnages?
Vous devez vous connecter pour publier un commentaire.
Ces deux personnages:
\r
est de retour chariot;\n
de saut de ligne est.Deux caractères combinés représentent une nouvelle ligne sur Windows. Alors que sur Linux,
\n
représente la nouvelle ligne. Il déplace le curseur au début de la ligne nouvelle sur Linux. Sur Windows, le curseur va rester à la même colonne dans 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 des informations différentes sur la même ligne où\r
est utilisé à la place de\n
.Fait
\r is 0x0D (^M) and \n is 0x0A (^J)
, mais..... sur windows:sur unix:
stdout
comme un flux binaire plutôt qu'un flux de texte entraînerait\n
écriture seule0x0A
plutôt que0x0D 0x0A
sur Windows. Voir @FredFoo 's réponse.Dépend du paramètre.
\r\n
est de deux octets (en ASCII, UTF-8, etc.), mais bibliothèques d'e/S ces Cstdio
de la bibliothèque et d'autres, lors du fonctionnement en mode texte, peut se traduire entre\n
et\r\n
quasi-transparente.I. e., sur une plate-forme Windows, un programme C qui lit un texte en mode flux
txt_in
avecne pas signaler le code ASCII pour le
\r
. À l'inverse,putc('\n', txt_out)
serviront à l'écriture de\r\n
pour le texte en mode fluxtxt_out
.Windows ne fait pas de distinction entre
\r\n
et deux autres personnages. Cependant, il existe une situation où il est traité comme un caractère: si vous utilisez le runtime C et ouvrir un fichier en tant que texte,\r\n
dans le fichier sera lu comme\n
, et\n
sera écrit dans le fichier\r\n
.Oui, c'est deux personnages: retour chariot '\r', suivie par saut de ligne '\n'.
J'ai effectué quelques tests (rien de compliqué) avec Notepad++ ou Sublime Text 2 sur Windows, et il s'avère que
\r
et\n
sont en effet 2 caractères distincts, mais...Différents éditeurs de texte peut insérer ou ils pourraient ne pas insérer
\r
quand Retour touche est enfoncée.Essayez les solutions suivantes dans votre éditeur de texte:
Puis appuyez sur Ctrl+F, permettent d'expressions régulières et de recherche pour
\r
. En fonction de votre éditeur de texte et de ses paramètres, vous pouvez tirer ou ne pas tirer " un personnage à la fin de chaque ligne. Si le texte ci-dessus est de copier-collé à partir d'un autre éditeur, le comportement peut également différer...Certains éditeurs de texte permettent la personnalisation de leurs paramètres, où vous pouvez spécifier si vous préférez
\r\n
ou de style unix\n
à être inséré lorsque vous appuyez sur Retour. En plus de cela, ils pourraient vous permettre de choisir appliquer un style cohérent par décapage ou de l'insertion de la\r
caractère avant l'enregistrement d'un fichier.