J’ai une macro pour une chaîne de caractères comme suit:
#define APPNAME "MyApp"
Maintenant, je veux construire une chaîne large en utilisant cette macro en faisant quelque chose comme:
const wchar_t *AppProgID = APPNAME L".Document";
Toutefois, cela génère une erreur de compilation “concaténation de chaînes incompatibles”.
Existe-t-il un moyen de convertir la macro APPNAME en un littéral de chaîne large?
As-tu essayé
#define APPNAME "MyApp" #define WIDEN2(x) L ## x #define WIDEN(x) WIDEN2(x) const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";