【发布时间】:2012-01-29 12:08:04
【问题描述】:
可以使用 C 预处理器宏来生成下面的字符串,其中 size 是 sizeof 宏的结果?
const char testXmlElement [] = "< xs:element name="count" size="4" \>";使用字符串化宏会生成结果 size="sizeof(int)" 而不是所需的结果 size="4"。
#define xstr(s) str(s) #define str(s) #s const char testXmlElement[] = "<元素大小=\"" xstr(sizeof(int)) "\"" " \\>";我的目的是使用 sizeof() 和 offsetof() 宏在嵌入式微控制器应用程序中创建 XML 模式。生成的模式将用于将 XML 反序列化为嵌套的 C 数据结构。
提前致谢,
【问题讨论】:
标签: string macros embed constants sizeof