.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, Bruno Haible .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mbsrtowcs 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم mbsrtowcs \- تحويل سلسلة محارف متعددة البايت إلى سلسلة محارف عريضة (قابلة لإعادة التشغيل) .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBsize_t mbsrtowcs(\fPsize_t dsize; \fB wchar_t \fP\fIdest\fP\fB[restrict \fP\fIdsize\fP\fB],\fP \fB const char **restrict \fP\fIsrc\fP\fB,\fP \fB size_t \fP\fIdsize\fP\fB, mbstate_t *restrict \fP\fIps\fP\fB);\fP .fi .SH الوصف إذا لم يكن \fIdest\fP NULL، حوّل سلسلة المحارف متعددة البايت \fI*src\fP إلى سلسلة محارف عريضة تبدأ من \fIdest\fP. يُكتب على الأكثر \fIdsize\fP حرفًا عريضًا إلى \fIdest\fP. تُحدّث حالة الإزاحة \fI*ps\fP. يُنفّذ التحويل فعليًا باستدعاء متكرر لـ \fImbrtowc(dest, *src, n, ps)\fP حيث \fIn\fP عدد موجب، طالما نجح هذا الاستدعاء، ثم زيادة \fIdest\fP بمقدار 1 و \fI*src\fP بعدد البايتات المستهلكة. يمكن أن يتوقف التحويل لثلاثة أسباب: .IP \[bu] 3 وُجِد تسلسل متعدد البايتات غير صالح. في هذه الحالة، يُترك \fI*src\fP يشير إلى التسلسل غير الصالح، ويُعاد \fI(size_t)\ \-1\fP، ويُضبط \fIerrno\fP على \fBEILSEQ\fP. .IP \[bu] خُزّنت \fIdsize\fP حرفًا عريضًا غير L\[aq]\[rs]0\[aq] في \fIdest\fP. في هذه الحالة، يُترك \fI*src\fP مشيرًا إلى تسلسل المحارف متعددة البايت التالي المراد تحويله، ويُعاد عدد المحارف العريضة المكتوبة إلى \fIdest\fP. .IP \[bu] حُوّلت سلسلة المحارف متعددة البايت بالكامل، بما في ذلك الحرف العريض الفارغ الختامي (\[aq]\[rs]0\[aq])، الذي له أثر جانبي بإعادة \fI*ps\fP إلى الحالة الأولية. في هذه الحالة، يُضبط \fI*src\fP على NULL، ويُعاد عدد المحارف العريضة المكتوبة إلى \fIdest\fP، باستثناء الحرف العريض الفارغ الختامي. .P إذا كان \fIdest\fP فارغا (NULL)، يُتجاهل \fIdsize\fP، ويستمر التحويل كما هو موضح أعلاه، باستثناء أن المحارف العريضة المحولة لا تُكتب في الذاكرة، ولا يوجد حد للطول. .P في كلتا الحالتين أعلاه، إذا كان \fIps\fP NULL، يُستخدم حالة مجهولة ثابتة معروفة فقط لدالة \fBmbsrtowcs\fP() بدلاً من ذلك. .P لتجنب الحالة 2 أعلاه، يجب على المبرمج التأكد من أن \fIdsize\fP أكبر من أو يساوي \fImbsrtowcs(NULL,src,0,ps)+1\fP. .P يجب على المبرمج التأكد من وجود مساحة لـ \fIdsize\fP من المحارف العريضة على الأقل في \fIdest\fP. .P هذه الدالة هي نسخة قابلة لإعادة التشغيل من \fBmbstowcs\fP(3). .SH "قيمة الإرجاع" عدد المحارف العريضة التي تشكل الجزء المحول من سلسلة المحارف العريضة، دون تضمين الحرف العريض الفارغ الختامي. إذا صودف تسلسل محارف متعددة البايت غير صالح، يُعاد \fI(size_t)\ \-1\fP، ويُضبط \fIerrno\fP على \fBEILSEQ\fP. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBmbsrtowcs\fP() T} سلامة الخيوط T{ .na .nh MT\-Unsafe race:mbsrtowcs/!ps T} .TE .SH المعايير C11, POSIX.1\-2008. .SH التاريخ POSIX.1\-2001، C99. .SH ملاحظات يعتمد سلوك \fBmbsrtowcs\fP() على فئة \fBLC_CTYPE\fP للإعدادات المحلية الحالية. .P تمرير NULL كـ \fIps\fP ليس آمنًا في تعدد الخيوط. .SH "انظر أيضًا" \fBiconv\fP(3), \fBmbrtowc\fP(3), \fBmbsinit\fP(3), \fBmbsnrtowcs\fP(3), \fBmbstowcs\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .