ما شكل حسابات الأمانة الأحادية يجب تعزيز عودة wdirectory_iterator؟

StackOverflow https://stackoverflow.com/questions/810677

  •  03-07-2019
  •  | 
  •  

سؤال

إذا يحتوي على ملف £ (جنيه) توقيع ثم يعود directory_iterator بشكل صحيح تسلسل الأحرف UTF8 \ xC2 \ xA3

وwdirectory_iterator يستخدم حرف واسعة، ولكن لا يزال يعود تسلسل UTF8. هل هذا هو السلوك الصحيح لwdirectory_iterator، أو أنا استخدامه بشكل غير صحيح؟

AddFile(testpath, "pound£sign"); 
wdirectory_iterator iter(testpath);
TS_ASSERT_EQUALS(iter->leaf(),L"pound\xC2\xA3sign"); // Succeeds
TS_ASSERT_EQUALS(*iter, L"pound£sign"); // Fails
هل كانت مفيدة؟

المحلول

وترميز للحرف واسعة (كائنات wchar_t) هو تنفيذ التابع. للبيان الثاني (أي L "الجنيه £") في العمل، وربما كنت بحاجة إلى تغيير الإعدادات المحلية الأساسية. الافتراضي هو "C" الذي لا يعرف عن طبيعة جنيه. نجحت قيمة ست عشرية لأن هذا لا يتطلب رسم الشكل المنقوش إلى قيمة في ترميز معين.

ملحوظة: أنا تخطي الصياغة الدقيقة للwchar_t w.r.t القياسية، الأحرف الموسعة يحدد الخ الإيجاز

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