Объединение широкого строкового буквального с помощью струнного макроса
-
18-09-2019 - |
Вопрос
У меня есть макрос для строки символов следующим образом:
#define APPNAME "MyApp"
Теперь я хочу построить широкую строку, используя этот макрос, делая что -то вроде:
const wchar_t *AppProgID = APPNAME L".Document";
Тем не менее, это генерирует ошибку компиляции «объединение несоответствующих строк».
Есть ли способ преобразовать макрос AppName в широкий литерал?
Решение
Ты пробовал
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Не связан с StackOverflow