相关疑难解决方法(0)

展开引用字符串中的宏

可能重复:
C宏以创建字符串

我有一个函数接受一个类型的参数char*,比如f("string");
如果字符串参数是在函数调用中由-the-fly定义的,那么如何在字符串体内扩展宏呢?

例如:

#define COLOR #00ff00
f("abc COLOR");
Run Code Online (Sandbox Code Playgroud)

相当于

f("abc #00ff00");
Run Code Online (Sandbox Code Playgroud)

但相反,不执行扩展,并且函数从字面上接收abc COLOR.

特别是,我需要精确地扩展宏\"#00ff00\",以便这个引用的标记与传递给它的其余字符串参数连接f(),包括引号; 也就是说,预处理器必须完成他的工作并欢迎编译器将代码转换f("abc COLOR");f("abc \"#00ff00\"");

c macros c-strings c-preprocessor

26
推荐指数
1
解决办法
3万
查看次数

标签 统计

c ×1

c-preprocessor ×1

c-strings ×1

macros ×1