La combinazione di un'ampia stringa letterale con la macro stringa
-
18-09-2019 - |
Domanda
Ho una macro per una stringa di caratteri come segue:
#define APPNAME "MyApp"
Ora voglio costruire una vasta stringa utilizzando questa macro facendo qualcosa di simile:
const wchar_t *AppProgID = APPNAME L".Document";
Tuttavia, questo genera una "concatenazione di stringhe corrispondenti" errore di compilazione.
C'è un modo per convertire la macro APPNAME ad una vasta stringa letterale?
Soluzione
Hai provato
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow