【发布时间】:2015-12-13 19:58:49
【问题描述】:
printf("backspace\b");
输出:退格
puts("backspace\b");
输出:退格
这是为什么?因为puts() 添加了一个终止换行符,所以\b 无效?
【问题讨论】:
-
\b只将光标向左移动一个字符,通常不会删除一个字符。因此,其效果取决于您接下来输出的内容。你能提供一个minimal reproducible example吗? -
#include
int main(int argc, char *argv[]) { puts("Hello world\b"); printf("你好世界\b");返回0; } -
如果你
printf("Hello world\b\n");怎么办? -
#include
int main(int argc, char *argv[]) { printf("Hello world\b\n");返回0; } 结果是“Hello world”。 -
当你
puts("Hello world\b ")时会发生什么?注意最后的空格。在您打印另一个字符之前,退格有时非破坏性。