.\" -*- 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 wprintf 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf \- تحويل مخرجات محارف عريضة منسقة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP \fB#include \fP .P \fBint wprintf(const wchar_t *restrict \fP\fIformat\fP\fB, ...);\fP \fBint fwprintf(FILE *restrict \fP\fIstream\fP\fB,\fP \fB const wchar_t *restrict \fP\fIformat\fP\fB, ...);\fP \fBint swprintf(\fPsize_t n; \fB wchar_t \fP\fIwcs\fP\fB[restrict \fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB const wchar_t *restrict \fP\fIformat\fP\fB, ...);\fP .P \fBint vwprintf(const wchar_t *restrict \fP\fIformat\fP\fB, va_list \fP\fIargs\fP\fB);\fP \fBint vfwprintf(FILE *restrict \fP\fIstream\fP\fB,\fP \fB const wchar_t *restrict \fP\fIformat\fP\fB, va_list \fP\fIargs\fP\fB);\fP \fBint vswprintf(\fPsize_t n; \fB wchar_t \fP\fIwcs\fP\fB[restrict \fP\fIn\fP\fB], size_t \fP\fIn\fP\fB,\fP \fB const wchar_t *restrict \fP\fIformat\fP\fB, va_list \fP\fIargs\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P .\" .BR wprintf (), .\" .BR fwprintf (), .\" .BR swprintf (), .\" .BR vwprintf (), .\" .BR vfwprintf (), .\" .BR vswprintf (): كافة الدوال الموضحة أعلاه: .nf _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH الوصف عائلة الدوال \fBwprintf\fP() هي المكافئ للمحارف العريضة لعائلة الدوال \fBprintf\fP(3). تُجري مخرجات منسقة من المحارف العريضة. .P الدالتان \fBwprintf\fP() و \fBvwprintf\fP() تُجريان مخرجات محارف عريضة إلى \fIstdout\fP. يجب ألا يكون \fIstdout\fP موجهاً للبايت؛ انظر \fBfwide\fP(3) لمزيد من المعلومات. .P الدالتان \fBfwprintf\fP() و \fBvfwprintf\fP() تُجريان مخرجات محارف عريضة إلى \fIstream\fP. يجب ألا يكون \fIstream\fP موجهاً للبايت؛ انظر \fBfwide\fP(3) لمزيد من المعلومات. .P الدالتان \fBswprintf\fP() و \fBvswprintf\fP() تُجريان مخرجات محارف عريضة إلى مصفوفة من المحارف العريضة. يجب على المبرمج ضمان وجود مساحة لـ \fIn\fP محرف عريض على الأقل في \fIwcs\fP. .P هذه الدوال تشبه الدوال \fBprintf\fP(3), \fBvprintf\fP(3), \fBfprintf\fP(3), \fBvfprintf\fP(3), \fBsprintf\fP(3), \fBvsprintf\fP(3) باستثناء الاختلافات التالية: .TP \fB\[bu]\fP سلسلة المحارف \fIformat\fP هي سلسلة محارف عريضة. .TP \fB\[bu]\fP يتكون المخرج من محارف عريضة، وليس بايتات. .TP \fB\[bu]\fP تأخذ \fBswprintf\fP() و \fBvswprintf\fP() معامل \fIn\fP، بينما \fBsprintf\fP(3) و \fBvsprintf\fP(3) لا تفعلان. (تأخذ \fBsnprintf\fP(3) و \fBvsnprintf\fP(3) معامل \fIn\fP، لكن هذه الدوال لا تُرجع \-1 عند تجاوز سعة المخزن المؤقت في لينكس.) .P معالجة محارف التحويل \fBc\fP و \fBs\fP مختلفة: .TP \fBc\fP إذا لم يكن المُعدِّل \fBl\fP موجوداً، يُحوَّل المعامل \fIint\fP إلى محرف عريض باستدعاء الدالة \fBbtowc\fP(3)، ويُكتب المحرف العريض الناتج. إذا كان المُعدِّل \fBl\fP موجوداً، يُكتب المعامل \fIwint_t\fP (محرف عريض). .TP \fBs\fP إذا لم يكن المُعدِّل \fBl\fP موجوداً: يُتوقع أن يكون المعامل \fIconst\ char\ *\fP مؤشراً إلى مصفوفة من نوع محرف (مؤشر إلى سلسلة محارف) تحتوي على تسلسل محارف متعددة البايتات يبدأ في حالة الإزاحة الأولية. تُحوَّل المحارف من المصفوفة إلى محارف عريضة (كل منها باستدعاء الدالة \fBmbrtowc\fP(3) مع حالة تحويل تبدأ في الحالة الأولية قبل البايت الأول). تُكتب المحارف العريضة الناتجة حتى (ولكن لا تشمل) المحرف العريض الفارغ الختامي (L\[aq]\[rs]0\[aq]). إذا حُددت دقة، لا يُكتب عدد من المحارف العريضة أكثر من العدد المحدد. لاحظ أن الدقة تحدد عدد \fIالمحارف العريضة\fP المكتوبة، وليس عدد \fIالبايتات\fP أو \fIمواقع الشاشة\fP. يجب أن تحتوي المصفوفة على بايت فارغ ختامي (\[aq]\[rs]0\[aq])، ما لم تُعطَ دقة وكانت صغيرة جداً بحيث يصل عدد المحارف العريضة المحولة إليها قبل الوصول إلى نهاية المصفوفة. إذا كان المُعدِّل \fBl\fP موجوداً: يُتوقع أن يكون المعامل \fIconst\ wchar_t\ *\fP مؤشراً إلى مصفوفة من المحارف العريضة. تُكتب المحارف العريضة من المصفوفة حتى (ولكن لا تشمل) محرف عريض فارغ ختامي. إذا حُددت دقة، لا يُكتب أكثر من العدد المحدد. يجب أن تحتوي المصفوفة على محرف عريض فارغ ختامي، ما لم تُعطَ دقة وكانت أصغر من أو تساوي عدد المحارف العريضة في المصفوفة. .SH "قيمة الإرجاع" تُرجع الدوال عدد المحارف العريضة المكتوبة، باستثناء المحرف العريض الفارغ الختامي في حالة الدالتين \fBswprintf\fP() و \fBvswprintf\fP(). عند حدوث خطأ، يُرجع \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء انظر \fBwrite\fP(2) و \fBputwc\fP(3). بالإضافة إلى ذلك، قد يحدث الخطأ التالي: .TP \fBEOVERFLOW\fP القيمة المطلوب إرجاعها أكبر من \fBINT_MAX\fP. .P قد تفشل الدالتان \fBfwprintf\fP() و \fBwprintf\fP() بالإضافة إلى ذلك إذا: .TP \fBENOMEM\fP مساحة تخزين غير كافية متاحة. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBwprintf\fP(), \fBfwprintf\fP(), \fBswprintf\fP(), \fBvwprintf\fP(), \fBvfwprintf\fP(), \fBvswprintf\fP() T} سلامة الخيوط المنطقة (locale) آمنة لتعدد المسالك (MT\-Safe) .TE .SH المعايير C11, POSIX.1\-2008. .SH التاريخ POSIX.1\-2001، C99. .SH ملاحظات يعتمد سلوك \fBwprintf\fP() وآخرون على فئة \fBLC_CTYPE\fP من الإعدادات المحلية الحالية. .P إذا احتوت سلسلة المحارف \fIformat\fP على محارف عريضة غير ASCII، فسيعمل البرنامج بشكل صحيح فقط إذا كانت فئة \fBLC_CTYPE\fP من الإعدادات المحلية الحالية وقت التشغيل مطابقة لفئة \fBLC_CTYPE\fP من الإعدادات المحلية الحالية وقت الترجمة. يعود ذلك إلى أن تمثيل \fIwchar_t\fP يعتمد على المنصة والإعدادات المحلية. (يمثل glibc المحارف العريضة باستخدام نقاط الترميز الخاصة بها في Unicode (ISO/IEC 10646)، لكن المنصات الأخرى لا تفعل ذلك. كما أن استخدام أسماء المحارف العامة C99 بالصيغة \[rs]unnnn لا يحل هذه المشكلة.) لذلك، في البرامج المعولمة، ينبغي أن تتكون سلسلة المحارف \fIformat\fP من محارف عريضة ASCII فقط، أو تُبنى وقت التشغيل بطريقة معولمة (مثل استخدام \fBgettext\fP(3) أو \fBiconv\fP(3)، متبوعة بـ \fBmbstowcs\fP(3)). .SH "انظر أيضًا" \fBfprintf\fP(3)، \fBfputwc\fP(3)، \fBfwide\fP(3)، \fBprintf\fP(3)، \fBsnprintf\fP(3) .\" .BR wscanf (3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .