4

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

#define APPNAME "MyApp"

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

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

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

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

4

2 回答 2

12

你试过了吗

#define APPNAME "MyApp"

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

const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
于 2009-11-06T20:17:06.100 回答
0

没有宏:

const wchar_t *AppProgID = L"" APPNAME ".Document";
于 2022-01-23T14:25:45.077 回答