像 "foo""\x01""bar"
这样的字符串常量可以写成单个字符串文字(同时保持十六进制表示法)吗?对于 "foo\x01bar"
,转义序列似乎被解释为 \x01ba
,因为我收到警告“十六进制转义序列超出范围”。
最佳答案
"foo""\x01""bar"
是一个字符串文字。
C 标准规定,十六进制转义序列是可以构成转义序列的最长字符序列。如果没有显式串联(这是此问题的常见解决方法),编译器会解析显然超出范围的 \x01ba
。
关于c - 分隔字符串中的十六进制转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47571520/