<分区>
Possible Duplicate:
C Macros to create strings
我有一个函数接受一个 char*
类型的参数,比如 f("string");
如果字符串参数是在函数调用中动态定义的,那么如何在字符串主体中扩展宏?
例如:
#define COLOR #00ff00
f("abc COLOR");
相当于
f("abc #00ff00");
但不执行扩展,函数按字面意思接收 abc COLOR
。
特别是,我需要将宏扩展到恰好 \"#00ff00\"
,以便将这个带引号的标记与传递给 f() 的其余字符串参数连接起来
,包括引号;也就是说,预处理器必须完成其工作并欢迎编译器将代码从 f("abc COLOR");
转换为 f("abc\"#00ff00\"");