c -\b 和\r 在 C 中的用法

标签 c

\b\r 在实践中很少使用。我刚刚发现我误解了这两个转义序列。一个简单的测试:

printf("foo\bbar\n");

我希望它输出 fobar,因为 \b 会退格光标,而 b 会覆盖第二个 o,而是输出:foobar

同样是 \r:

printf("foo\rbar\n");

我以为\r会把光标移动到当前行的行首,所以bar会代替foo,所以最后的输出应该是 bar。然而,它实际上输出:

foo
bar

最佳答案

字符将像那样发送到底层输出设备(在您的情况下可能是终端仿真器)。

这取决于终端的实现,然后这些字符如何实际显示。例如,铃声 (\a) 可能会在某些终端上触发哔声,在其他终端上触发屏幕闪烁,或者它会被完全忽略。这完全取决于终端的配置方式。

关于c -\b 和\r 在 C 中的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33360213/

相关文章:

c - 在下面的代码中刷新标准输入缓冲区时不知道哪里出了问题

c - 使用 Streaming Simd Extensions (SSE) 的按位运算

c - 在 UIViewController 中添加 View 时出现空白

c - c 中的包装函数

c++ - 如何以与 OpenGL 中的点 Sprite 相同的方式渲染屏幕对齐的矩形

c - 如何从原始套接字获取 IP src addr

c - 我的 linux 的 gcc 编译器不支持 boolean 值

c - 如何使用我自己的自定义函数覆盖 libavformat 中的内存访问函数(malloc、realloc 等)

c - 程序不读取和打印字符

c - C 可变参数是否使用名为 'end' 的关键字?