我有
#define STRING "string"
我想稍后在我的代码中将STR前缀添加到STRING宏中(我无法在定义中执行此操作)。怎么做?
答案 0 :(得分:4)
这应该做:
#include <stdio.h>
#define CONCATENATE(e1, e2) e1 ## e2
#define PREFIX_L(s) CONCATENATE(L, s)
#define STRING "string"
int main(void)
{
printf("%ls\n", PREFIX_L(STRING));
}
GCC附带的文档还涵盖了这些标准C预处理器的串联功能:https://gcc.gnu.org/onlinedocs/cpp/Concatenation.html
答案 1 :(得分:-1)
这应该有用。
#define STRING(x) x"string"
char * l_pString = STRING("");
wchar_t * l_pWideString = STRING(L);