和 的作用是什么?
我期望这行简单的代码 printf("foo\b\tbar\n"); 将"o"替换为"\t"并产生以下输出 fo bar (假设制表位每 8 个字符出现一次)。 foo bar 看来我的 shell 将 \b 解释为"将光标向后移动一个位置",将 \t 解释为"将光标移动到下一个制表位"。 答案 退格键和制表符都可以移动光标位置。 你的代码说: 打印"富" 将光标向后移动一格 将光标向前移动到下一个制表位 输出"条"。 为了获得您期望的输出,您需要printf("foo\b \tbar")。 输出"富" 将光标向后移动一格 输出一个" “(这取代了第二个"o”)。 将光标向前移动到下一个制表位 输出"条"。 大多数时候,使用制表符和退格键来格式化程序输出是不合适的。printf()格式说明符。 这个小脚本展示了一种改变终端选项卡渲染的方法。 #!/bin/bash tabs -8 echo -e "\tnormal tabstop" for x in `seq 2 10`; do tabs $x echo -e "\ttabstop=$x" done tabs -8 echo -e "\tnormal tabstop" 另请参阅man setterm和regtabs。 如果您重定向输出或仅写入文件,制表符通常会显示为少于标准 8 个字符,尤其是在"编程"编辑器和 IDE 中。 换句话说: printf("%-8s%s", "foo", "bar"); /* this will ALWAYS output "foo bar" */ printf("foo\tbar"); /* who knows how this will be rendered */ 恕我直言,一般来说,选项卡很少适用于任何事情。...