.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" 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 strtoul 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم strtoul, strtoull, strtouq \- تحويل سلسلة محارف إلى عدد صحيح طويل غير مُوقَّع .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBunsigned long strtoul(const char *restrict \fP\fInptr\fP\fB,\fP \fB char **_Nullable restrict \fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP \fBunsigned long long strtoull(const char *restrict \fP\fInptr\fP\fB,\fP \fB char **_Nullable restrict \fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBstrtoull\fP(): .nf _ISOC99_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .SH الوصف الدالة \fBstrtoul\fP() تُحوِّل الجزء الأولي من السلسلة في \fInptr\fP إلى قيمة \fIunsigned long\fP وفقًا لـ \fIbase\fP المُعطى، والذي يجب أن يكون بين 2 و36 شاملاً، أو أن يكون القيمة الخاصة 0. .P قد تبدأ السلسلة بكمية اختيارية من المسافات البيضاء (كما يحددها \fBisspace\fP(3)) تليها علامة \[aq]+\[aq] أو \[aq]\-\[aq] اختيارية واحدة. إذا كانت \fIbase\fP صفرًا أو 16، فقد تتضمن السلسلة بادئة "0x" أو "0X"، وسيُقرأ الرقم بالأساس 16؛ أما إذا كانت \fIbase\fP صفرًا أو 2، فقد تتضمن السلسلة بادئة "0b" أو "0B"، وسيُقرأ الرقم بالأساس 2؛ وخلاف ذلك، تُتخذ \fIbase\fP الصفرية على أنها 10 (عشري) ما لم يكن المحرف التالي هو \[aq]0\[aq]، وفي هذه الحالة تُتخذ على أنها 8 (ثماني). .P يُحوَّل باقي السلسلة إلى قيمة \fIunsigned long\fP بالطريقة الواضحة، ويتوقف عند أول حرف ليس رقمًا صالحًا في الأساس المُعطى. (في الأساسات فوق 10، الحرف \[aq]A\[aq] سواء كان كبيرًا أو صغيرًا يُمثل 10، و\[aq]B\[aq] يُمثل 11، وهكذا، مع \[aq]Z\[aq] الذي يُمثل 35.) .P إذا كان \fIendptr\fP ليس NULL، وكان \fIbase\fP مدعومًا، تخزِّن \fBstrtoul\fP() عنوان أول حرف غير صالح في \fI*endptr\fP. إذا لم تكن هناك أرقام على الإطلاق، تخزِّن \fBstrtoul\fP() القيمة الأصلية لـ \fInptr\fP في \fI*endptr\fP (وتُعيد 0). على وجه الخصوص، إذا كان \fI*nptr\fP ليس \[aq]\[rs]0\[aq] ولكن \fI**endptr\fP هو \[aq]\[rs]0\[aq] عند الإرجاع، فإن السلسلة بأكملها صالحة. .P تعمل الدالة \fBstrtoull\fP() تمامًا مثل الدالة \fBstrtoul\fP() ولكنها تُعيد قيمة \fIunsigned long long\fP. .SH "قيمة الإرجاع" تُعيد الدالة \fBstrtoul\fP() إما نتيجة التحويل، أو إذا كانت هناك علامة ناقص بادئة، نفي نتيجة التحويل المُمثَّلة كقيمة غير مُوقَّعة، ما لم تكن القيمة الأصلية (غير المنفية) ستفيض؛ في الحالة الأخيرة، تُعيد \fBstrtoul\fP() \fBULONG_MAX\fP وتضبط \fIerrno\fP على \fBERANGE\fP. ينطبق نفس الشيء تمامًا على \fBstrtoull\fP() (مع \fBULLONG_MAX\fP بدلاً من \fBULONG_MAX\fP). .SH الأخطاء لا تعدل هذه الدالة \fIerrno\fP عند النجاح. .TP \fBEINVAL\fP (ليس في C99) يحتوي \fIالأساس\fP المعطى على قيمة غير مدعومة. .TP \fBERANGE\fP القيمة الناتجة كانت خارج النطاق. .P قد يقوم التنفيذ أيضًا بضبط \fIerrno\fP على \fBEINVAL\fP في حالة عدم إجراء أي تحويل (لم تُرَ أي أرقام، وأُرْجِعَ 0). .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBstrtoul\fP(), \fBstrtoull\fP(), \fBstrtouq\fP() T} سلامة الخيوط المنطقة (locale) آمنة لتعدد المسالك (MT\-Safe) .TE .SH الإصدارات في الإعدادات المحلية غير الإعداد "C"، قد تُقبل سلاسل أخرى. (على سبيل المثال، قد يكون فاصل الآلاف للإعداد المحلي الحالي مدعومًا.) .P يمتلك BSD أيضًا .P .in +4n .EX \fBu_quad_t strtouq(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP .EE .in .P بتعريف مشابه تمامًا. اعتمادًا على حجم الكلمة في البنية الحالية، قد يكون هذا مكافئًا لـ \fBstrtoull\fP() أو لـ \fBstrtoul\fP(). .SH المعايير C23، ‏POSIX.1\-2024. .SH التاريخ .TP \fBstrtoul\fP() POSIX.1\-2001, C89, SVr4. .TP \fBstrtoull\fP() POSIX.1\-2001، C99. .TP "0b"، "0B" C23. glibc 2.38. (ليس في POSIX.) .SH تحذيرات نظرًا لأن \fBstrtoul\fP() يمكنها شرعيًا إرجاع 0 أو \fBULONG_MAX\fP (\fBULLONG_MAX\fP لـ \fBstrtoull\fP()) في كل من النجاح والفشل، يجب على البرنامج المُستدعي ضبط \fIerrno\fP على 0 قبل الاستدعاء، ثم تحديد ما إذا حدث خطأ بالتحقق مما إذا كان \fIerrno\fP له قيمة غير صفرية بعد الاستدعاء. .SH العلل .SS "الأعداد المُوقَّعة" تُعتبر بعض القيم السالبة إدخالاً صالحًا وتُحوَّل بصمت إلى \fI\%unsigned\ long\fP. .SS "مساحة فارغة" تقبل هذه الدوال المسافات البيضاء البادئة بصمت. .SS isalnum(3) لرفض المسافات البيضاء و/أو الإشارة، استدعِ \fBisalnum\fP(3) قبل \fBstrtoul\fP(). .SH أمثلة انظر المثال في صفحة دليل \fBstrtol\fP(3)؛ استخدام الدوال الموصوفة في صفحة الدليل هذه مشابه. .SH "انظر أيضًا" \fBa64l\fP(3), \fBatof\fP(3), \fBatoi\fP(3), \fBatol\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3), \fBstrtoumax\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 .