سؤال

أحاول استخدام rtlstringcbprintf winsock kernel.لقد قمت بتضمين NTSTRSAFE.H ولكن المترجم يعطيني الخطأ

giveacodicetagpre.

إذا كنت تستخدم rtlstringcbprintfa أو rtlstringcbprintfw ثم تقوم بتجميعها.لماذا لا يمكنني استخدام الإصدار العام؟أبحث في ntstrsafe.h أرى إعلانات النموذج الأولي من rtlstringcbprintfa and rtlstringcbprintfw ولكن لا يوجد إعلان rtlstringcbprintf على الرغم من أن التعليقات تشير إليها.لماذا لا يمكنني استخدام النموذج العام بحيث يحدد خاصية مجموعة أحرف الخاص بي أي إصدار لاستخدامه؟تم ضبط خاصية مجموعة الأحرف الخاصة بي على استخدام مجموعة الأحرف متعددة البايت

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

المحلول

لأن Windows لا يوفر rtlstringcbprintf تعريف لهذه الوظائف.من MSDN:

استخدم rtlstringcbprintfw للتعامل مع سلاسل Unicode و rtlstringcbprintfa للتعامل مع سلاسل ANSI.يعتمد النموذج الذي تستخدمه بياناتك

المثال من MSDN استخدم وظيفة RTLSTRINGCBPRINTFW () وظيفة، وليس rtlstringcbprintf ().

يمكنك تحديد rtlstringcbprintf () بنفسك:

giveacodicetagpre.

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