c - 分隔字符串中的十六进制转义序列

标签 c

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

最佳答案

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

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

关于c - 分隔字符串中的十六进制转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47571520/

相关文章:

c - D_GNU_SOURCE 的解释为什么以及何时使用它?

c++ - 这是对逻辑 "and"运算符的正确使用吗?

c - Fork, C 后无法杀死父进程

c - 如何编写一个可以同时采用动态/静态分配的二维数组的 c 函数?

c - 嵌入式系统中的内存使用

c++ - Valgrind 在使用适当的 free() 和 end() 后显示 ncurses 命令的内存泄漏

c - 在 C 中打印出文件名及其大小

c - 打印斐波那契数列时,数组打印出奇怪的问号符号

c - 如何在给定源代码树的情况下自动扫描库依赖项?

c - 为什么它会随机读取文件?