“\ b”在gdb字符串打印输出中的含义是什么?

时间:2013-04-17 05:47:38

标签: c gdb

当我在包含不可打印字符的缓冲区p buf上发出命令buf时,当gdb尝试打印不可打印的字符时,我通常会得到八进制输出。

但是,这次我收到了这样的字符串。

foobar\341\204\004\b\357\373\377\277

\b在这里意味着什么?

2 个答案:

答案 0 :(得分:5)

\b是退格符(\010,如果您使用的是ASCII)。

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

  

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

     

\a(警报)在不更改活动位置的情况下生成声音或可见警报。

     

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

     

\f(换页)将活动位置移动到下一个开头的初始位置   逻辑页面。

     

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

     

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

     

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

     

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

答案 1 :(得分:2)

\b表示退格ASCII字符(其代码为8或八进制\010