.\" -*- 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 mbsnrtowcs 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم mbsnrtowcs \- تحويل سلسلة محارف متعددة البايت إلى سلسلة محارف عريضة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBsize_t mbsnrtowcs(\fPsize_t size; \fB wchar_t \fP\fIdest\fP\fB[restrict \fP\fIsize\fP\fB], const char **restrict \fP\fIsrc\fP\fB,\fP \fB size_t \fP\fInms\fP\fB, size_t \fP\fIsize\fP\fB, mbstate_t *restrict \fP\fIps\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBmbsnrtowcs\fP(): .nf منذ glibc 2.10: _POSIX_C_SOURCE >= 200809L قبل glibc 2.10: _GNU_SOURCE .fi .SH الوصف الدالة \fBmbsnrtowcs\fP() تشبه الدالة \fBmbsrtowcs\fP(3) ، باستثناء أن عدد البايتات المُراد تحويلها، بدءًا من \fI*src\fP، محدود بـ \fInms\fP بايت على الأكثر. .P إذا لم يكن \fIdest\fP NULL، تُحوّل الدالة \fBmbsnrtowcs\fP() على الأكثر \fInms\fP بايت من سلسلة المحارف متعددة البايت \fI*src\fP إلى سلسلة محارف عريضة تبدأ عند \fIdest\fP. يُكتب على الأكثر \fIsize\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] حد \fInms\fP يُجبر على التوقف، أو خُزّن \fIsize\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 وفقًا لـ POSIX.1، إذا انتهى مخزن الإدخال بحرف غير مكتمل، فمن غير المحدد ما إذا كان التحويل يتوقف عند نهاية الحرف السابق (إن وجد)، أو عند نهاية مخزن الإدخال. يتبنى تطبيق glibc السلوك الأول. .P إذا كان \fIdest\fP NULL، يُتجاهل \fIsize\fP، ويستمر التحويل كما سبق، باستثناء أن المحارف العريضة المحولة لا تُكتب إلى الذاكرة، ولا يوجد حد لحجم الوجهة. .P في كلتا الحالتين أعلاه، إذا كان \fIps\fP NULL، تُستخدم حالة مجهولة ثابتة معروفة فقط للدالة \fBmbsnrtowcs\fP() بدلاً من ذلك. .P يجب على المبرمج التأكد من وجود مساحة لـ \fIsize\fP حرفًا عريضًا على الأقل عند \fIdest\fP. .SH "قيمة الإرجاع" تُرجع الدالة \fBmbsnrtowcs\fP() عدد المحارف العريضة التي تشكل الجزء المحول من سلسلة المحارف العريضة، دون تضمين الحرف العريض الفارغ الختامي. إذا صودف تسلسل محارف متعددة البايت غير صالح، يُعاد \fI(size_t)\ \-1\fP، ويُضبط \fIerrno\fP على \fBEILSEQ\fP. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBmbsnrtowcs\fP() T} سلامة الخيوط T{ .na .nh MT\-Unsafe race:mbsnrtowcs/!ps T} .TE .SH المعايير POSIX.1\-2008. .SH ملاحظات يعتمد سلوك \fBmbsnrtowcs\fP() على فئة \fBLC_CTYPE\fP من الإعدادات المحلية الحالية. .P تمرير NULL كـ \fIps\fP ليس آمنًا في تعدد الخيوط. .SH "انظر أيضًا" \fBiconv\fP(3), \fBmbrtowc\fP(3), \fBmbsinit\fP(3), \fBmbsrtowcs\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 .