在忽略换行符之前的字符串末尾的C字符串中的退格符转义字符(在Mac OS X终端中)。
printf("hello, worl\bd"); // => hello word (OK)
printf("hello, world\b"); // => hello worl (OK)
printf("hello, world\b\n"); // => hello world\n (Why not hello worl\n ?)
为什么会这样?
答案 0 :(得分:2)
如果您使用\n\b
,则可以随意使用它。就目前而言,可能会有更多问题。 C99,§5.2.2/ 2字符显示语义:
\ b(退格键)将活动位置移动到当前行的上一个位置。如果 活动位置位于一条线的初始位置,即显示的行为 设备未指定。
由于它只指定移动“活动位置”,我猜它实际上并不是要删除任何东西。
答案 1 :(得分:1)
\ b只会将光标移回一个字符,但不会删除那里的字符。并且printf
将打印出从开始到当前光标所在的任何内容。