.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright 2005-2020, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strerror 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \- إرجاع سلسلة محارف تصف رقم الخطأ .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBchar *strerror(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrorname_np(int \fP\fIerrnum\fP\fB);\fP \fBconst char *strerrordesc_np(int \fP\fIerrnum\fP\fB);\fP .P \fBint strerror_r(\fPsize_t size; \fB int \fP\fIerrnum\fP\fB, char \fP\fIbuf\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB);\fP /* XSI\-compliant */ .P \fBchar *strerror_r(\fPsize_t size; \fB int \fP\fIerrnum\fP\fB, char \fP\fIbuf\fP\fB[\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB);\fP /* GNU\-specific */ .P \fBchar *strerror_l(int \fP\fIerrnum\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP(): .nf _GNU_SOURCE .fi .P \fBstrerror_r\fP(): .nf تُوفر النسخة المتوافقة مع معيار XSI إذا: (_POSIX_C_SOURCE >= 200112L) && !_GNU_SOURCE وإلا، تُوفر النسخة الخاصة بنظام GNU. .fi .SH الوصف الدالة \fBstrerror\fP() تُعيد مؤشرًا إلى سلسلة محارف تصف رمز الخطأ المُمرَّر في المعامل \fIerrnum\fP، وربما تستخدم جزء \fBLC_MESSAGES\fP من الإعدادات المحلية الحالية لاختيار اللغة المناسبة. (مثال: إذا كان \fIerrnum\fP هو \fBEINVAL\fP، سيكون الوصف المُعاد "Invalid argument".) لا يجب تعديل هذه السلسلة بواسطة التطبيق، وسيُبطَل المؤشر المُعاد عند استدعاء لاحق لـ \fBstrerror\fP() أو \fBstrerror_l\fP()، أو إذا خرج الخيط الذي حصل على السلسلة. لا دالة مكتبة أخرى، بما في ذلك \fBperror\fP(3)، ستعدل هذه السلسلة. .P مثل \fBstrerror\fP()، الدالة \fBstrerrordesc_np\fP() تُعيد مؤشرًا إلى سلسلة محارف تصف رمز الخطأ المُمرَّر في المعامل \fIerrnum\fP، مع الفرق أن السلسلة المُعادة لا تُترجم وفقًا للإعدادات المحلية الحالية. .P .\" الدالة \fBstrerrorname_np\fP() تُعيد مؤشرًا إلى سلسلة محارف تحتوي على اسم رمز الخطأ المُمرَّر في المعامل \fIerrnum\fP. مثال: عند إعطاء \fBEPERM\fP كمعامل، تُعيد هذه الدالة مؤشرًا إلى السلسلة "EPERM". عند إعطاء \fB0\fP كمعامل، تُعيد هذه الدالة مؤشرًا إلى السلسلة "0". .SS strerror_r() \fBstrerror_r\fP() تشبه \fBstrerror\fP()، لكنها قد تستخدم المخزن المُوفَّر \fIbuf\fP بدلاً من تخصيص واحد داخليًا. هذه الدالة متوفرة في إصدارين: إصدار متوافق مع XSI مُحدَّد في POSIX.1\-2001 (متوفر منذ glibc 2.3.4، لكنه غير متوافق مع POSIX حتى glibc 2.13)، وإصدار خاص بـ GNU (متوفر منذ glibc 2.0). الإصدار المتوافق مع XSI يُوفَّر مع إعدادات وحدات الماكرو لاختبار الميزات الموضحة في الملخص؛ وإلا يُوفَّر الإصدار الخاص بـ GNU. إذا لم تُعرَّف وحدات ماكرو لاختبار الميزات صراحةً، فإنه (منذ glibc 2.4) \fB_POSIX_C_SOURCE\fP يُعرَّف مبدئيًا بالقيمة 200112L، بحيث يُوفَّر الإصدار المتوافق مع XSI من \fBstrerror_r\fP() مبدئيًا. .P إصدار \fBstrerror_r\fP() المتوافق مع XSI هو المُفضَّل للتطبيقات القابلة للنقل. يُعيد سلسلة الخطأ في المخزن المُوفَّر من المستخدم \fIbuf\fP بحجم \fIsize\fP. .P .\" إصدار \fBstrerror_r\fP() الخاص بـ GNU يُعيد مؤشرًا إلى سلسلة محارف تحتوي على رسالة الخطأ. قد يكون هذا إما مؤشرًا إلى سلسلة تخزنها الدالة في \fIbuf\fP، أو مؤشرًا إلى سلسلة ثابتة (غير قابلة للتغيير) (وفي هذه الحالة لا يُستخدم \fIbuf\fP). إذا خزنت الدالة سلسلة في \fIbuf\fP، فسيُخزَّن على الأكثر \fIsize\fP بايت (قد تُقتص السلسلة إذا كان \fIsize\fP صغيرًا جدًا و \fIerrnum\fP غير معروف). تحتوي السلسلة دائمًا على بايت ختامي صفري (\[aq]\[rs]0\[aq]). .SS strerror_l() \fBstrerror_l\fP() تشبه \fBstrerror\fP()، لكنها تُعيّن \fIerrnum\fP إلى رسالة خطأ معتمدة على الإعدادات المحلية في الإعدادات المحلية المُحدَّدة بواسطة \fIlocale\fP. سلوك \fBstrerror_l\fP() غير مُحدَّد إذا كان \fIlocale\fP هو كائن الإعدادات المحلية الخاص \fBLC_GLOBAL_LOCALE\fP أو ليس مقبض كائن إعدادات محلية صالحًا. .SH "قيمة الإرجاع" الدوال \fBstrerror\fP() و \fBstrerror_l\fP() و \fBstrerror_r\fP() الخاص بـ GNU تُعيد سلسلة وصف الخطأ المناسبة، أو رسالة "Unknown error nnn" إذا كان رقم الخطأ غير معروف. .P عند النجاح، تُعيد \fBstrerrorname_np\fP() و \fBstrerrordesc_np\fP() سلسلة وصف الخطأ المناسبة. إذا كان \fIerrnum\fP رقم خطأ غير صالح، تُعيد هذه الدوال NULL. .P الدالة \fBstrerror_r\fP() المتوافقة مع XSI تُعيد 0 عند النجاح. عند الخطأ، يُعاد رقم خطأ (موجب) (منذ glibc 2.13)، أو يُعاد \-1 ويُعيَّن \fIerrno\fP للإشارة إلى الخطأ (قبل glibc 2.13). .P تتطلب POSIX.1\-2001 و POSIX.1\-2008 أن استدعاءً ناجحًا لـ \fBstrerror\fP() أو \fBstrerror_l\fP() يجب أن يترك \fIerrno\fP دون تغيير، وتلاحظ أنه نظرًا لعدم حجز قيمة إرجاع دالة للإشارة إلى خطأ، يجب على التطبيق الذي يرغب في التحقق من الأخطاء تهيئة \fIerrno\fP إلى الصفر قبل الاستدعاء، ثم التحقق من \fIerrno\fP بعد الاستدعاء. .SH الأخطاء .TP \fBEINVAL\fP قيمة \fIerrnum\fP ليست رقم خطأ صالحًا. .TP \fBERANGE\fP وُفرت مساحة تخزين غير كافية لاحتواء سلسلة محارف وصف الخطأ. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBstrerror\fP() T} سلامة الخيوط T{ .na .nh MT\-Safe T} T{ .na .nh \fBstrerrorname_np\fP(), \fBstrerrordesc_np\fP() T} سلامة الخيوط MT\-Safe T{ .na .nh \fBstrerror_r\fP(), \fBstrerror_l\fP() T} سلامة الخيوط MT\-Safe .TE .P قبل glibc 2.32، \fBstrerror\fP() ليس آمنًا للخيوط. .SH المعايير .TP \fBstrerror\fP() C11, POSIX.1\-2008. .TP \fBstrerror_r\fP() .\" FIXME . for later review when Issue 8 is one day released... .\" A future POSIX.1 may remove strerror_r() .\" http://austingroupbugs.net/tag_view_page.php?tag_id=8 .\" http://austingroupbugs.net/view.php?id=508 .TQ \fBstrerror_l\fP() POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() GNU. .P .\" e.g., Solaris 8, HP-UX 11 .\" e.g., FreeBSD 5.4, Tru64 5.1B تسمح POSIX.1\-2001 لـ \fBstrerror\fP() بتعيين \fIerrno\fP إذا واجه الاستدعاء خطأً، لكنها لا تحدد القيمة التي يجب إرجاعها كنتيجة للدالة في حالة حدوث خطأ. في بعض الأنظمة، تُرجع \fBstrerror\fP() NULL إذا كان رقم الخطأ غير معروف. في أنظمة أخرى، تُرجع \fBstrerror\fP() سلسلة محارف مثل "حدث خطأ nnn" وتُعيّن \fIerrno\fP إلى \fBEINVAL\fP إذا كان رقم الخطأ غير معروف. تتطلب C99 و POSIX.1\-2008 أن تكون القيمة المُرجعة غير NULL. .SH التاريخ .TP \fBstrerror\fP() POSIX.1\-2001، C89. .TP \fBstrerror_r\fP() POSIX.1\-2001. .TP \fBstrerror_l\fP() glibc 2.6. POSIX.1\-2008. .TP \fBstrerrorname_np\fP() .TQ \fBstrerrordesc_np\fP() glibc 2.32. .SH ملاحظات \fBstrerrorname_np\fP() و \fBstrerrordesc_np\fP() آمنان للخيوط وآمنان للإشارات غير المتزامنة. .SH "انظر أيضًا" \fBerr\fP(3)، \fBerrno\fP(3)، \fBerror\fP(3)، \fBperror\fP(3)، \fBstrsignal\fP(3)، \fBlocale\fP(7)، \fBsignal\-safety\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .