Combinando ampla corda literal com macro de corda
-
18-09-2019 - |
Pergunta
Eu tenho uma macro para uma string de personagem da seguinte maneira:
#define APPNAME "MyApp"
Agora eu quero construir uma corda ampla usando esta macro fazendo algo como:
const wchar_t *AppProgID = APPNAME L".Document";
No entanto, isso gera um erro de compilação "Strings incompatíveis".
Existe uma maneira de converter a macro AppName em uma ampla corda literal?
Solução
Você tentou
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow