L'utilisation de \b et \r dans C

\b et \r sont rarement utilisés dans la pratique. Je viens de constater que j'ai mal compris ces deux séquences d'échappement. Un test simple:

printf("foo\bbar\n");

Je m'attendais à la sortie fobar, parce que \b sera de retour arrière du curseur, et b va remplacer la deuxième o, mais au lieu de cela il sorties: foobar

La même chose est avec \r:

printf("foo\rbar\n");

J'ai pensé \r de déplacer le curseur au début de la ligne courante, de sorte bar remplacera foo, de sorte que le résultat final devrait être bar. Cependant, il fait des sorties:

foo
bar
  • Où est la question?
  • quelle plate-forme êtes-vous?
  • ce n' \b et \r faire exactement?
  • stackoverflow.com/questions/6792812/...
  • J'ai utilisé une ligne de gcc compileonline.com/compile_c_online.php
  • Ils ne font rien. Ils sont juste des personnages. Mais quoi que vous écrire ces caractères peuvent agir d'une certaine façon lorsqu'il reçoit ces personnages. par exemple, si vous écrivez ces caractères dans un fichier, le personnage se retrouve dans le fichier. Si vous l'écrivez sur un terminal/console, le terminal peut effacer un caractère lorsqu'il voit le \b Certains terminaux ferais, que certains ne le serait pas.
  • Dans la chaîne, il ist juste ASCII 8, et 13 CR. Un ancien puce console pourrait avoir interprété ces commandes (voir alse Unix boucles). En général \r pourrait interprété comme saut de ligne. En fait, vous avez trouvé les deux plus tous les caractères inutiles.

InformationsquelleAutor Yu Hao | 2013-06-21