سؤال

من فضلك هل يمكن لأحد أن يشرح لماذا هذا لا يعمل؟

char *test = "test";
_TCHAR *szTest = CA2W(test);

ويرجى قل لي ما يجب أن أفعله بدلاً من ذلك.

بدلاً من إعطائي نص متساوٍ ، يعطيني:

﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾
هل كانت مفيدة؟

المحلول

وفقا ل MSDN ، هذا سيء. لذلك استخدمت هذا بدلاً من ذلك:

char *test = "test";
CA2W szTest(test);

من هنا ، يمكننا الحصول على نوع LPWSTR إذا كنا نريد حقًا:

LPWSTR test = szTest.m_psz;

يبدو أيضًا أنه من الأفضل استخدام LPWSTR بدلاً من _tchar * - لكنني لست متأكدًا (أعتقد أنها نفس الشيء بشكل أساسي ، ولكن قد يكون خطأ).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top