繁体   English   中英

在字符串中分隔十六进制转义序列

[英]Separating hexadecimal escape sequences in strings

字符串常量如"foo" "\\x01" "bar"可以写成单个字符串文字(同时保持十六进制表示法)吗? 使用"foo\\x01bar" ,转义序列似乎被解释为\\x01ba因为我收到警告“十六进制转义序列超出范围”。

"foo" "\\x01" "bar" 一个字符串文字。

C标准规定十六进制转义序列是可以构成转义序列的最长字符序列。 如果没有显式连接(这是此问题的常见解决方法),编译器会解析显然超出范围的\\x01ba

"foo\\x01\\142ar"怎么样? 那是作弊吗?

另一个解决方案是简单地以八进制编写转义字符,而不是十六进制

"foo\1bar"

而且不再含糊不清......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM