如何获取此字符串的信息?

时间:2016-09-29 15:26:28

标签: c gdb disassembly

我正在尝试调试方法,当我做一个信息本地时,我得到以下输出:

buf =“@ i \ 001 \ 000 \ 000 \ 000 \ 000 \ 000 \ 364 \ 000 \ 000 \ 000 \ 000 \ 000 \ 000 \ 000 \ 000 \ 240 \ 366fU”,'\ 000'重复11次< / p>

我的问题是,\ 0这里是指空字符还是这些字符\和0? 我问这个是因为我期待字符串长度少于40个字符。

2 个答案:

答案 0 :(得分:3)

它是一个C字符串转义序列。 \后跟1,2或3个八进制数字表示具有该八进制值的无符号字符。尽可能多的八进制数字(最多3个)构成转义序列的一部分,因此\001表示八进制值为1的单个字符。\364表示八进制值为364的单个字符,这是二进制11110100,十六进制f4和十进制244(64 * 3 + 8 * 6 + 4)。

答案 1 :(得分:0)

\ 0是空字符,与\ 000相同。分隔\和0应标记为'\\'和'0'