限制C字符串中十六进制转义序列的长度

时间:2016-02-03 15:03:50

标签: c string

在字符串文字中,如何使用可以解释为十六进制数字的文字字符立即跟随十六进制转义序列?例如,如果我写这个文字......

"BlahBlah\x04BlahBlah"

...紧跟'B'之后的'4'将被解释为十六进制转义的一部分,因为它是一个有效的十六进制数字。

  

如果将'4'作为十字转义的最后一个字符,我该如何编写一个表示上述字符串的字符串文字?

1 个答案:

答案 0 :(得分:11)

正如您所注意到的,当涉及到字符串文字中的十六进制转义序列时,C非常愚蠢。使用字符串连接修复它,如下所示:

"BlahBlah\x04" "BlahBlah"

最好不要在这样的十六进制转义序列后面留下任何尾随字符。始终以此示例结束字符串。