الجمع بين سلسلة واسعة حرفية مع سلسلة ماكرو
-
18-09-2019 - |
سؤال
لدي ماكرو للحصول على سلسلة الأحرف كما يلي:
#define APPNAME "MyApp"
الآن أريد إنشاء سلسلة واسعة باستخدام هذا الماكرو من خلال القيام بشيء ما:
const wchar_t *AppProgID = APPNAME L".Document";
ومع ذلك، فإن هذا يولد خطأ بتجميع "سلاسل غير متطابقة تسلسل".
هل هناك طريقة لتحويل ماكرو AppName إلى سلسلة عريضة حرفية؟
المحلول
هل جربت
#define APPNAME "MyApp"
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
const wchar_t *AppProgID = WIDEN(APPNAME) L".Document";
لا تنتمي إلى StackOverflow