Kombinieren Sie breites String -Literal mit String -Makro
-
18-09-2019 - |
Frage
Ich habe ein Makro für eine Zeichenfolge wie folgt:
#define APPNAME "MyApp"
Jetzt möchte ich eine breite Zeichenfolge mit diesem Makro konstruieren, indem ich so etwas wie:
const wchar_t *AppProgID = APPNAME L".Document";
Dies erzeugt jedoch einen Kompilierungsfehler "verkettet nicht übereinstimmende Zeichenfolgen".
Gibt es eine Möglichkeit, das Appname -Makro in ein breites String -Literal umzuwandeln?
Lösung
Hast du versucht
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow