سؤال

وأنا أحاول فك سلسلة المشفرة base64 في مع بينسل. ومع ذلك، فإنه يعمل سوى 4 مرات من أصل 5.

ويجب أن تكون سلسلة فك الشفرة دائما 64 حرف طويل. BIO_read () دوما بإرجاع 64. ومع ذلك، عاد بعض الأحيان عازلة أقصر من 64!

وأي أفكار ما هو الخطأ؟ كيف يمكنني دائما الحصول على سلسلة الصحيحة؟

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

المحلول

هل تستخدم شارع [ن] CPY؟ لا يمكنك! يمكن أن تحتوي على بيانات base64 ترميز أحرف فارغة، التي C تفسير وظائف معالجة سلسلة ك نهاية السلسلة.

استخدم memcpy بدلا من CPY شارع [ن]، memcmp بدلا من strcmp وغيرها وهذه المهام تتطلب منك أن تعرف حجم البيانات الخاصة بك، ولكن أعتقد أنكم <م> لا يعرفون ذلك.

وأيضا إذا كنت غير واثق جدا حول سلاسل الطراز C ومن هذا القبيل، هناك الكثير من المعلومات التي يمكن العثور عليها حول الموضوع هنا.

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