Объединение широкого строкового буквального с помощью струнного макроса

StackOverflow https://stackoverflow.com/questions/1690082

Вопрос

У меня есть макрос для строки символов следующим образом:

#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";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top