c++ 如何用数值宏连接文字串?

k4ymrczo  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(149)

如何通过合并一个非字符串宏来生成一个字符串,如下所示?

#define SOC 12

printf("This is the default SoC:" SOC "!");

[更新]
这是嵌入式cpp11,我想限制资源的使用,所以我需要一个编译时的解决方案,而不是运行时。

s3fp2yjn

s3fp2yjn1#

使用预处理器,您可以将值字符串化:

#define STRINGIFY(s) #s
#define STRINGIFY_VALUE(s) STRINGIFY(s)

然后使用C字符串的串联:

printf("This is the default SoC:" STRINGIFY_VALUE(SOC) "!");

Demo

相关问题