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?

Était-ce utile?

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
scroll top