سؤال

لدي ماكرو للحصول على سلسلة الأحرف كما يلي:

#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";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top