将宽字符串文字与字符串宏组合在一起

时间:2009-11-06 20:13:21

标签: c++ c c-preprocessor widestring

我有一个字符串的宏,如下所示:

#define APPNAME "MyApp"

现在,我想通过执行以下操作来构造一个使用此宏的宽字符串:

const wchar_t *AppProgID = APPNAME L".Document";

但是,这会产生“连接不匹配的字符串”编译错误。

有没有办法将APPNAME宏转换为宽字符串文字?

1 个答案:

答案 0 :(得分:10)

你试过吗

#define APPNAME "MyApp"

#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)

const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";