mblen(3)

الاسم
mblen - تحديد عدد البايتات في الحرف متعدد البايت التالي

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <stdlib.h>

int mblen(size_t n;
          const char s[n], size_t n);

الوصف
إذا لم تكن s فارغة، فإن الدالة mblen() تفحص على الأكثر n بايت من سلسلة المحارف متعددة البايت التي تبدأ من s وتستخرج الحرف متعدد البايت الكامل التالي. تستخدم حالة إزاحة ثابتة مجهولة معروفة فقط للدالة mblen(). إذا لم يكن الحرف متعدد البايت هو الحرف العريض الفارغ، فإنها تُرجع عدد البايتات التي استُهلكت من s. إذا كان الحرف متعدد البايت هو الحرف العريض الفارغ، فإنها تُرجع 0.

إذا كانت البايتات n التي تبدأ من s لا تحتوي على حرف متعدد البايت كامل، فإن mblen() تُرجع -1. يمكن أن يحدث هذا حتى لو كانت n أكبر من أو تساوي MB_CUR_MAX، إذا كانت سلسلة المحارف متعددة البايت تحتوي على تسلسلات إزاحة زائدة.

إذا كانت سلسلة المحارف متعددة البايت التي تبدأ من s تحتوي على تسلسل متعدد البايت غير صالح قبل الحرف الكامل التالي، فإن mblen() تُرجع أيضًا -1.

إذا كانت s فارغة، فإن الدالة mblen() تُعيد تعيين حالة الإزاحة، المعروفة فقط لهذه الدالة، إلى الحالة الأولية، وتُرجع قيمة غير صفرية إذا كان الترميز يحتوي على حالة إزاحة غير تافهة، أو صفرًا إذا كان الترميز عديم الحالة.

قيمة الإرجاع
تُرجع الدالة mblen() عدد البايتات التي حُللت من التسلسل متعدد البايت الذي يبدأ من s، إذا تم التعرف على حرف عريض غير فارغ. تُرجع 0، إذا تم التعرف على حرف عريض فارغ. تُرجع -1، إذا تمت مواجهة تسلسل متعدد البايت غير صالح أو إذا لم تستطع تحليل حرف متعدد البايت كامل.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
mblen() | سلامة الخيوط | MT-Unsafe race

الإصدارات
توفر الدالة mbrlen(3) واجهة أفضل لنفس الوظيفة.

المعايير
C11, POSIX.1-2008.

التاريخ
POSIX.1-2001، C99.

ملاحظات
يعتمد سلوك mblen() على فئة LC_CTYPE للإعدادات المحلية الحالية.

انظر أيضًا
mbrlen(3)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.