wcstombs(3)

الاسم
wcstombs - تحويل سلسلة محارف عريضة إلى سلسلة محارف متعددة البايت

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

موجز
#include <stdlib.h>

size_t wcstombs(size_t dsize;
                char dest[restrict dsize], const wchar_t *restrict src,
                size_t dsize);

الوصف
إذا لم يكن dest فارغًا، فإن الدالة wcstombs() تحول سلسلة المحارف العريضة src إلى سلسلة محارف متعددة البايت بدءًا من dest. يُكتب على الأكثر dsize بايت إلى dest. يبدأ تسلسل المحارف الموضوع في dest في حالة الإزاحة الأولية. يمكن أن يتوقف التحويل لثلاثة أسباب:

•   وُجد محرف عريض لا يمكن تمثيله كتسلسل متعدد البايت (وفقًا للإعدادات المحلية الحالية). في هذه الحالة، يُرجع (size_t) -1.

•   حد الطول يُجبر على التوقف. في هذه الحالة، يُرجع عدد البايتات المكتوبة إلى dest، لكن حالة الإزاحة عند هذه النقطة تُفقد.

•   سلسلة المحارف العريضة حُولت بالكامل، بما في ذلك المحرف العريض الفارغ الختامي (L'\0'). في هذه الحالة، ينتهي التحويل في حالة الإزاحة الأولية. يُرجع عدد البايتات المكتوبة إلى dest، باستثناء البايت الفارغ الختامي ('\0').

يجب على المبرمج التأكد من وجود مساحة لعدد dsize من البايتات على الأقل في dest.

إذا كان dest فارغًا، يُتجاهل dsize، ويستمر التحويل كما سبق، باستثناء أن البايتات المحولة لا تُكتب إلى الذاكرة، ولا يوجد حد للطول.

لتجنب الحالة 2 أعلاه، يجب على المبرمج التأكد من أن dsize أكبر من أو يساوي wcstombs(NULL,src,0)+1.

قيمة الإرجاع
تُرجع الدالة wcstombs() عدد البايتات التي تشكل الجزء المحول من تسلسل متعدد البايت، دون تضمين البايت الفارغ الختامي. إذا وُجد محرف عريض لا يمكن تحويله، يُرجع (size_t) -1.

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

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

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

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

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

انظر أيضًا
mblen(3), mbstowcs(3), mbtowc(3), wcsrtombs(3), wctomb(3)

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

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

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