限制C字符串中hex转义序列的长度

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

"BlahBlah\x04BlahBlah" 

…紧跟在'4'之后的'B'将被解释为hex转义的一部分,因为它是一个有效的hex数字。

如果将'4'作为hex转义的最后一个字符,我怎么能写一个字符串文字来表示上面代表的字符串?

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

 "BlahBlah\x04" "BlahBlah" 

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