如何在宏定义#中包含转义序列?

How to contain escape sequences in macro definition #?

我正在尝试在 C:

中使用这个宏定义
#define STR(x) #x

是否可以在 x 中包含一些转义序列?例如,我想定义一个字符串:

char* str = "\'";

这个声明似乎不起作用:

char* str1 = STR(\');

如果我必须使用这个宏定义,有什么方法可以包含包含撇号 "\'" 的字符串吗?谢谢!

const char* img = "/Image/'.png";

也可以写成

const char* img = "/Image/" "'" ".png";

所以你可以使用

#define IMG(x) "/Image/" x ".png"

const char* img = IMG("'");