#include <stdio.h>
#define PRJ abcdef
#define QUOTE_MACRO2(x) #x //给x加双引号
#define QUOTE_MACRO(x) QUOTE_MACRO2(x) //当x为宏时,使得它有机会被替换成宏的定义
#define QUOTE_PRJ_NAME QUOTE_MACRO(PRJ)
int main()
{
printf("QUOTE_MACRO2(PRJ) %s\n", QUOTE_MACRO2(PRJ));
printf("QUOTE_MACRO(PRJ) %s\n", QUOTE_MACRO(PRJ));
printf("QUOTE_PRJ_NAME %s\n", QUOTE_PRJ_NAME);
}
如何将宏的非字符串定义变成字符串
最新推荐文章于 2025-03-22 23:33:55 发布
本文详细解释了C++预处理器宏QUOTEMACRO和QUOTE_PRJ_NAME的工作原理,并通过代码实例展示了如何在实际编程中使用这些宏来解决字符串处理问题。
1万+

被折叠的 条评论
为什么被折叠?



