La combinaison de grande chaîne littérale avec chaîne de macro
-
18-09-2019 - |
Question
J'ai une macro pour une chaîne de caractères comme suit:
#define APPNAME "MyApp"
Maintenant, je veux construire une grande chaîne en utilisant cette macro en faisant quelque chose comme:
const wchar_t *AppProgID = APPNAME L".Document";
Cependant, cela génère une "concaténer des chaînes dépareillées" erreur de compilation.
Y at-il un moyen de convertir la macro APPNAME à une grande chaîne littérale?
La solution
Avez-vous essayé
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow