在gdb字符串打印输出中,"\b"是什么意思?

5
当我在一个包含不可打印字符的缓冲区“buf”上发出命令“p buf”时,通常情况下,gdb在尝试打印不可打印字符时会输出八进制数。但是这一次我得到了像这样的字符串。
foobar\341\204\004\b\357\373\377\277

这里的\b是什么意思?
2个回答

5

\b 是回退字符(如果您使用ASCII,则为\010)。

以下是C标准定义的其余转义序列(5.2.2字符显示语义):

2个字母转义序列代表执行字符集中的非图形字符,旨在产生以下显示设备操作:

\a(警报)生成可听或可见的警报,而不改变活动位置。

\b(退格)将活动位置移动到当前行上一个位置。如果活动位置位于行的初始位置,则显示设备的行为未指定。

\f(换页)将活动位置移动到下一页的起始位置。

\n(换行)将活动位置移动到下一行的初始位置。

\r(回车)将活动位置移动到当前行的初始位置。

\t(水平制表符)将活动位置移动到当前行上的下一个水平制表符位置。如果活动位置在或超过最后一个定义的水平制表符位置,则显示设备的行为未指定。

\v(垂直制表符)将活动位置移动到下一个垂直制表符位置的初始位置。如果活动位置在或超过最后一个定义的垂直制表符位置,则显示设备的行为未指定。


2
< p > \b 表示退格 ASCII 字符(其代码为 8 或 \010 的八进制表示法)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接