在编译时在文字的第一个条目处插入 #define 字符串文字的长度

问题描述 投票:0回答:1

我正在使用 ESP-ZigbeeSDK 编写一个 C 程序,其中我需要设置一个默认字符串,例如

#define mystring
。但 ZigBee 要求文字的第一个字符表示字符串
#define 0x08mystring
的长度,不带
\0
。 有没有办法在编译时做到这一点?

c macros c-preprocessor c-strings
1个回答
0
投票

“文字的第一个字符表示字符串的长度”--> 字符串文字

"\010mystring"
可能适用于 OP - 我无法执行 ZigBee 测试。
\010
是八进制转义序列,值为 8。

"\x8mystring"
"\x08mystring"
也可能有效,但通常会有问题,如果
8
之后的字符是十六进制数字。

© www.soinside.com 2019 - 2024. All rights reserved.