.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1990-1991, The Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sscanf 3 "16 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم sscanf, vsscanf \- تحويل تنسيق سلسلة محارف الإدخال .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint sscanf(const char *restrict \fP\fIstr\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, ...);\fP .P \fB#include \fP .P \fBint vsscanf(const char *restrict \fP\fIstr\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBvsscanf\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH الوصف عائلة الدوال \fBsscanf\fP() تفحص الإدخال المنسق وفقًا لـ \fIformat\fP كما هو موصوف أدناه. قد يحتوي هذا التنسيق على \fIمواصفات تحويل\fP؛ تُخزَّن نتائج هذه التحويلات، إن وُجدت، في المواقع التي تشير إليها وسائط \fIالمؤشر\fP التي تلي \fIformat\fP. يجب أن تكون كل وسيطة \fIمؤشر\fP من نوع مناسب للقيمة التي تُرجعها مواصفة التحويل المقابلة. .P إذا تجاوز عدد مواصفات التحويل في \fIformat\fP عدد وسائط \fIالمؤشر\fP، تكون النتائج غير محددة. إذا تجاوز عدد وسائط \fIالمؤشر\fP عدد مواصفات التحويل، فتُقيَّم وسائط \fIالمؤشر\fP الزائدة، ولكنها تُتجاهل بخلاف ذلك. .P \fBsscanf\fP() تقرأ هذه الدوال إدخالها من سلسلة المحارف التي يشير إليها \fIstr\fP. .P الدالة \fBvsscanf\fP() مماثلة لـ \fBvsprintf\fP(3). .P تتكون سلسلة محارف \fIformat\fP من سلسلة من \fIالتوجيهات\fP التي تصف كيفية معالجة سلسلة محارف الإدخال. إذا فشلت معالجة توجيه، لا يُقرأ أي إدخال إضافي، وتُرجع \fBsscanf\fP(). يمكن أن يكون "الفشل" أحد الأمرين التاليين: \fIفشل إدخال\fP، بمعنى أن محارف الإدخال لم تكن متاحة، أو \fIفشل مطابقة\fP، بمعنى أن الإدخال كان غير مناسب (انظر أدناه). .P التوجيه هو أحد ما يلي: .TP \[bu] سلسلة من محارف المسافة البيضاء (مسافة، علامة تبويب، سطر جديد، إلخ؛ انظر \fBisspace\fP(3)). يطابق هذا التوجيه أي مقدار من المسافة البيضاء، بما في ذلك عدم وجودها، في الإدخال. .TP \[bu] محرف عادي (أي غير المسافة البيضاء أو \[aq]%\[aq]). يجب أن يطابق هذا المحرف تمامًا المحرف التالي للإدخال. .TP \[bu] مواصفة تحويل، تبدأ بمحرف \[aq]%\[aq] (النسبة المئوية). تُحوَّل سلسلة من المحارف من الإدخال وفقًا لهذه المواصفة، ويُوضع الناتج في وسيطة \fIالمؤشر\fP المقابلة. إذا لم يطابق العنصر التالي من الإدخال مواصفة التحويل، يفشل التحويل\[em]وهذا هو \fIفشل مطابقة\fP. .P تبدأ كل \fIمواصفة تحويل\fP في \fIformat\fP إما بالمحرف \[aq]%\[aq] أو بتسلسل المحارف \[dq]\fB%\fP\f[I]n\fB$\fP\[dq] (انظر أدناه للتمييز) متبوعًا بـ: .TP \[bu] محرف \[aq]*\[aq] اختياري لكبت التعيين: تقرأ \fBsscanf\fP() الإدخال كما هو موجه بواسطة مواصفة التحويل، ولكنها تتجاهل الإدخال. لا تُطلب وسيطة \fIمؤشر\fP مقابلة، ولا تُدرج هذه المواصفة في عدد التعيينات الناجحة التي تُرجعها \fBsscanf\fP(). .TP \[bu] للتحويلات العشرية، محرف اقتباس اختياري (\[aq]). يحدد هذا أن رقم الإدخال قد يتضمن فواصل الآلاف كما هو معرف بواسطة فئة \fBLC_NUMERIC\fP من الإعدادات المحلية الحالية. (انظر \fBsetlocale\fP(3).) قد يسبق محرف الاقتباس أو يتبع محرف كبت التعيين \[aq]*\[aq]. .TP \[bu] محرف \[aq]m\[aq] اختياري. يُستخدم هذا مع تحويلات السلاسل (\fI%s\fP, \fI%c\fP, \fI%[\fP)، ويُريح المستدعي من الحاجة إلى تخصيص مخبأ مطابق لحفظ الإدخال: بدلاً من ذلك، تخصص \fBsscanf\fP() مخبأً بحجم كافٍ، وتُسند عنوان هذا المخبأ إلى وسيطة \fIالمؤشر\fP المقابلة، والتي يجب أن تكون مؤشرًا لمتغير \fIchar\ *\fP (لا يحتاج هذا المتغير إلى التهيئة قبل الاستدعاء). يجب على المستدعي لاحقًا تحرير هذا المخبأ باستخدام \fBfree\fP(3) عندما لا يعود مطلوبًا. .TP \[bu] عدد صحيح عشري اختياري يحدد \fIأقصى عرض حقل\fP. يتوقف قراءة المحارف إما عند الوصول إلى هذا الحد الأقصى أو عند العثور على محرف غير مطابق، أيهما يحدث أولاً. تتجاهل معظم التحويلات محارف المسافة البيضاء الأولية (الاستثناءات مذكورة أدناه)، ولا تُحتسب هذه المحارف المُتجاهلة ضمن أقصى عرض حقل. تخزِّن تحويلات إدخال السلاسل بايتًا ختاميًا صفريًا (\[aq]\[rs]0\[aq]) لتمييز نهاية الإدخال؛ لا يتضمن أقصى عرض حقل هذا المُنهي. تتطلب بعض التحويلات بالضبط عدد المحارف المحدد في أقصى عرض حقل، أو تفشل. .TP \[bu] محرف \fIمُعدِّل نوع\fP اختياري. على سبيل المثال، يُستخدم مُعدِّل النوع \fBl\fP مع تحويلات الأعداد الصحيحة مثل \fB%d\fP لتحديد أن وسيطة \fIالمؤشر\fP المقابلة تشير إلى \fIlong\fP بدلاً من مؤشر إلى \fIint\fP. .TP \[bu] \fIمُحدِّد تحويل\fP يحدد نوع تحويل الإدخال الذي سيُجرى. .P مواصفات التحويل في \fIformat\fP تكون على شكلين، إما تبدأ بـ \[aq]%\[aq] أو تبدأ بـ \[dq]\fB%\fP\f[I]n\fB$\fP\[dq]. لا ينبغي خلط الشكلين في نفس سلسلة \fIformat\fP، إلا أن سلسلة تحتوي على مواصفات \[dq]\fB%\fP\f[I]n\fB$\fP\[dq] يمكن أن تتضمن \fB%%\fP و \fB%*\fP. إذا احتوت \fIformat\fP على مواصفات \[aq]%\[aq]، فإنها تتوافق بالترتيب مع وسائط \fIpointer\fP المتعاقبة. في الشكل \[dq]\fB%\fP\f[I]n\fB$\fP\[dq] (المحدد في POSIX.1\-2001، وليس C99)، \fIn\fP هو عدد صحيح عشري يحدد أن المُدخل المُحوّل يجب وضعه في الموقع المشار إليه بواسطة وسيط \fIpointer\fP رقم \fIn\fP التالي لـ \fIformat\fP. .SS التحويلات يمكن أن تظهر محارف \fIمُعدِّل النوع\fP التالية في مواصفة تحويل: .TP \fBh\fP يشير إلى أن التحويل سيكون أحد \fBd\fP أو \fBi\fP أو \fBo\fP أو \fBu\fP أو \fBx\fP أو \fBX\fP أو \fBn\fP، والمؤشر التالي هو مؤشر إلى \fIshort\fP أو \fIunsigned short\fP (بدلاً من \fIint\fP). .TP \fBhh\fP كما هو الحال مع \fBh\fP، لكن المؤشر التالي هو مؤشر إلى \fIsigned char\fP أو \fIunsigned char\fP. .TP \fBj\fP كما هو الحال مع \fBh\fP، لكن المؤشر التالي هو مؤشر إلى \fIintmax_t\fP أو \fIuintmax_t\fP. هذا المُعدِّل أُدخل في C99. .TP \fBl\fP .\" This use of l was introduced in Amendment 1 to ISO C90. يشير إما إلى أن التحويل سيكون أحد \fBd\fP أو \fBi\fP أو \fBo\fP أو \fBu\fP أو \fBx\fP أو \fBX\fP أو \fBn\fP، والمؤشر التالي هو مؤشر إلى \fIlong\fP أو \fIunsigned long\fP (بدلاً من \fIint\fP)، أو أن التحويل سيكون أحد \fBe\fP أو \fBf\fP أو \fBg\fP، والمؤشر التالي هو مؤشر إلى \fIdouble\fP (بدلاً من \fIfloat\fP). إذا استُخدم مع \fB%c\fP أو \fB%s\fP، يُعتبر المُعامل المقابل مؤشرًا إلى محرف عريض أو سلسلة محارف عريضة على التوالي. .TP \fBll\fP (إل\-إل) يشير إلى أن التحويل سيكون أحد \fBb\fP أو \fBd\fP أو \fBi\fP أو \fBo\fP أو \fBu\fP أو \fBx\fP أو \fBX\fP أو \fBn\fP، والمؤشر التالي هو مؤشر إلى \fIlong long\fP أو \fIunsigned long long\fP (بدلاً من \fIint\fP). .TP \fBL\fP .\" MTK, Jul 05: The following is no longer true for modern .\" ANSI C (i.e., C99): .\" (Note that long long is not an .\" ANSI C .\" type. Any program using this will not be portable to all .\" architectures). يشير إلى أن التحويل سيكون إما \fBe\fP أو \fBf\fP أو \fBg\fP، والمؤشر التالي هو مؤشر إلى \fIlong double\fP أو (كإضافة GNU) سيكون التحويل \fBd\fP أو \fBi\fP أو \fBo\fP أو \fBu\fP أو \fBx\fP، والمؤشر التالي هو مؤشر إلى \fIlong long\fP. .TP \fBq\fP مكافئ لـ \fBL\fP. هذا المُحدِّد غير موجود في ANSI C. .TP \fBt\fP كما هو الحال مع \fBh\fP، لكن المؤشر التالي هو مؤشر إلى \fIptrdiff_t\fP. هذا المُعدِّل أُدخل في C99. .TP \fBw\fP\fIN\fP تحويل عدد صحيح لاحق يقابل عدداً صحيحاً بعرض \fIN\fP بت (C23). .TP \fBz\fP كما هو الحال مع \fBh\fP، لكن المؤشر التالي هو مؤشر إلى \fIsize_t\fP. هذا المُعدِّل أُدخل في C99. .P مُحدِّدات \fIالتحويل\fP التالية متاحة: .TP \fB%\fP يطابق حرف \[aq]%\[aq] حرفيًا. أي أن \fB%\&%\fP في سلسلة التنسيق يطابق حرف إدخال واحد \[aq]%\[aq]. لا يُجرى أي تحويل (لكن تُتجاهل محارف المسافات البيضاء الأولية)، ولا يحدث إسناد. .TP \fBd\fP .\" .TP .\" .B D .\" Equivalent to .\" .IR ld ; .\" this exists only for backward compatibility. .\" (Note: thus only in libc4 .\" In libc5 and glibc the .\" .B %D .\" is silently ignored, causing old programs to fail mysteriously.) يطابق عددًا صحيحًا عشريًا مع إشارة اختيارية؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIint\fP. .TP \fBi\fP يطابق عددًا صحيحًا مع إشارة اختيارية؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIint\fP. يُقرأ العدد الصحيح في الأساس 16 إذا بدأ بـ \fI0x\fP أو \fI0X\fP، وفي الأساس 8 إذا بدأ بـ \fI0\fP، وفي الأساس 10 خلاف ذلك. تُستخدم فقط المحارف التي تتوافق مع الأساس. .TP \fBo\fP يطابق عددًا صحيحًا ثمانيًا غير مع إشارة؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIunsigned int\fP. .TP \fBu\fP يطابق عددًا صحيحًا عشريًا غير مع إشارة؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIunsigned int\fP. .TP \fBx\fP يطابق عددًا صحيحًا سداسيًا عشريًا غير مع إشارة (قد يبدأ اختياريًا ببادئة \fI0x\fP أو \fI0X\fP، والتي تُتجاهل)؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIunsigned int\fP. .TP \fBX\fP مكافئ لـ \fBx\fP. .TP \fBf\fP يطابق عددًا عائمًا مُوقَّعًا اختياريًا؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIfloat\fP. .TP \fBe\fP مكافئ لـ \fBf\fP. .TP \fBg\fP مكافئ لـ \fBf\fP. .TP \fBE\fP مكافئ لـ \fBf\fP. .TP \fBa\fP (C99) مكافئ لـ \fBf\fP. .TP \fBs\fP يطابق تسلسلاً من المحارف غير البيضاء؛ يجب أن يكون المؤشر التالي مؤشرًا إلى العنصر الأولي لمصفوفة محارف طويلة بما يكفي لاستيعاب تسلسل الإدخال والبايت الصفري الختامي (\[aq]\[rs]0\[aq])، الذي يُضاف آليًا. تتوقف سلسلة الإدخال عند المسافة البيضاء أو عند أقصى عرض حقل، أيهما يحدث أولاً. .TP \fBc\fP .\" glibc commit 2b16c76609350ec887d49afd4447743da38f7fab يطابق تسلسلاً من المحارف يُحدد طوله بواسطة \fIأقصى عرض حقل\fP (مبدئي 1)؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIchar\fP، ويجب أن تكون هناك مساحة كافية لجميع المحارف (لا يُضاف بايت صفري ختامي). يُلغى التخطي المعتاد للمسافة البيضاء البادئة. لتخطي المسافة البيضاء أولاً، استخدم مسافة صريحة في التنسيق. ينجح هذا التحويل فقط إذا أمكن مطابقة عدد المحارف المُحدد بواسطة أقصى حقل. .TP \fB\&[\fP يطابق تسلسلاً غير فارغ من المحارف من المجموعة المُحددة من المحارف المقبولة؛ يجب أن يكون المؤشر التالي مؤشرًا إلى \fIchar\fP، ويجب أن تكون هناك مساحة كافية لجميع المحارف في السلسلة، بالإضافة إلى بايت صفري ختامي. يُلغى التخطي المعتاد للمسافة البيضاء البادئة. تتكون السلسلة من محارف في (أو غير موجودة في) مجموعة معينة؛ تُعرف المجموعة بالمحارف بين محرف القوس المفتوح \fB[\fP ومحرف القوس المغلق \fB]\fP. تستبعد المجموعة \fIتستبعد\fP تلك المحارف إذا كان المحرف الأول بعد القوس المفتوح هو علامة الإقحام (\fB\[ha]\fP). لتضمين قوس مغلق في المجموعة، اجعله المحرف الأول بعد القوس المفتوح أو علامة الإقحام؛ أي موضع آخر سينهي المجموعة. محرف الوصلة \fB\-\fP هو أيضًا خاص؛ عند وضعه بين محرفين آخرين، يُضيف جميع المحارف المتوسطة إلى المجموعة. لتضمين وصلة، اجعلها آخر محرف قبل القوس المغلق النهائي. على سبيل المثال، \fB[\[ha]]0\-9\-]\fP تعني المجموعة "كل شيء باستثناء القوس المغلق، صفر حتى تسعة، والوصلة". تنتهي السلسلة بظهور محرف ليس في (أو، مع علامة الإقحام، في) المجموعة أو عندما ينفد عرض الحقل. .TP \fBp\fP يطابق قيمة مؤشر (كما تُطبع بواسطة \fB%p\fP في \fBprintf\fP(3))؛ يجب أن يكون المؤشر التالي مؤشرًا إلى مؤشر إلى \fIvoid\fP. .TP \fBn\fP لا يُتوقع شيء؛ بدلاً من ذلك، يُخزَّن عدد المحارف المستهلكة حتى الآن من الإدخال عبر المؤشر التالي، الذي يجب أن يكون مؤشرًا إلى \fIint\fP، أو متغيرًا يتطابق حجمه مع مُعدِّل طول العدد الصحيح (المُقدم اختياريًا). هذا \fIليس\fP تحويلاً ولا \fIيزيد\fP العدد الذي تُرجعه الدالة. يمكن إلغاء الإسناد باستخدام محرف إلغاء الإسناد \fB*\fP، لكن التأثير على القيمة المُرجعة غير مُحدد. لذلك لا ينبغي استخدام تحويلات \fB%*n\fP. .SH "قيمة الإرجاع" عند النجاح، تعيد هذه الدوال عدد عناصر المدخلات التي طابقت وجرى تعيينها بنجاح؛ وقد يكون هذا العدد أقل من المزود، أو حتى صفرًا في حالة فشل المطابقة المبكر. .P تُرجع القيمة \fBEOF\fP إذا تم الوصول إلى نهاية الإدخال قبل حدوث أول تحويل ناجح أو فشل مطابقة. .SH الأخطاء .TP \fBEILSEQ\fP تسلسل بايتات الدخل لا يشكل محرفاً صالحاً. .TP \fBEINVAL\fP لا توجد وسائط كافية؛ أو أن التنسيق \fIformat\fP هو NULL. .TP \fBENOMEM\fP نفدت الذاكرة. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBsscanf\fP(), \fBvsscanf\fP() T} سلامة الخيوط المنطقة (locale) آمنة لتعدد المسالك (MT\-Safe) .TE .SH المعايير C11, POSIX.1\-2008. .SH التاريخ C89, POSIX.1\-2001. .P مُحدِّد \fBq\fP هو تدوين 4.4BSD لـ \fIlong long\fP، بينما \fBll\fP أو استخدام \fBL\fP في تحويلات الأعداد الصحيحة هو تدوين GNU. .P إصدار Linux لهذه الدوال يعتمد على مكتبة \fIGNU\fP \fIlibio\fP. اطّلع على توثيق \fBinfo\fP(1) لـ \fIGNU\fP \fIlibc (glibc\-1.08)\fP للحصول على وصف أكثر إيجازًا. .SH ملاحظات .SS "مُعدِّل إسناد\-تخصيص 'a'" في الأصل، دعمت مكتبة GNU C التخصيص الديناميكي لإدخالات السلسلة (كإضافة غير قياسية) عبر محرف \fBa\fP. (هذه الميزة موجودة على الأقل منذ glibc 2.0.) وبالتالي، يمكن للمرء كتابة ما يلي لجعل \fBsscanf\fP() تخصص مخزنًا مؤقتًا لسلسلة، مع إرجاع مؤشر إلى ذلك المخزن في \fI*buf\fP: .P .in +4n .EX char *buf; sscanf(str, "%as", &buf); .EE .in .P كان استخدام الحرف \fBa\fP لهذا الغرض إشكاليًا، لأن \fBa\fP مُحدد أيضًا بواسطة معيار ISO C كمرادف لـ \fBf\fP (إدخال النقطة العائمة). بدلاً من ذلك، يُحدد POSIX.1\-2008 المُعدِّل \fBm\fP لتخصيص الإسناد (كما هو موثق في الوصف، أعلاه). .P لاحظ أن المُعدِّل \fBa\fP غير متاح إذا تم تجميع البرنامج باستخدام \fIgcc\ \-std=c99\fP أو \fIgcc\ \-D_ISOC99_SOURCE\fP (ما لم يتم تحديد \fB_GNU_SOURCE\fP أيضًا)، وفي هذه الحالة يُفسَّر \fBa\fP كمُحدِّد للأعداد العائمة (انظر أعلاه). .P أُضيف دعم المُعدِّل \fBm\fP إلى glibc 2.7، ويجب أن تستخدم البرامج الجديدة هذا المُعدِّل بدلاً من \fBa\fP. .P بالإضافة إلى كونه مُوحَّدًا بواسطة POSIX، يتمتع المُعدِّل \fBm\fP بالمزايا الإضافية التالية على استخدام \fBa\fP: .IP \[bu] 3 يمكن أيضًا تطبيقه على محددات التحويل \fB%c\fP (مثلًا، \fB%3mc\fP). .IP \[bu] يتجنب هذا الغموض فيما يتعلق بمحدد تحويل الفاصلة العائمة \fB%a\fP (ولا يتأثر بـ \fIgcc\ \-std=c99\fP وما إلى ذلك). .SH العلل .SS "محددات التحويل الرقمية" استخدام محددات التحويل الرقمية ينتج سلوكًا غير محدد للمدخلات غير الصالحة. انظر .UR https:\://port70.net/\:%7Ensz/\:c/\:c11/\:n1570.html\:#7.21.6.2p10 C11 7.21.6.2/10 .UE . هذا خطأ في معيار ISO C، وليس مشكلة تصميمية متأصلة في واجهة البرمجة. ومع ذلك، فإن التطبيقات الحالية ليست آمنة من هذا الخطأ، لذلك لا يُوصى باستخدامها. بدلًا من ذلك، ينبغي للبرامج استخدام دوال مثل \fBstrtol\fP(3) لتحليل المدخلات الرقمية. بديلًا، يمكن التخفيف من ذلك بتحديد أقصى عرض للحقل. .SS "المُعدِّلات غير القياسية" هذه الدوال متوافقة تمامًا مع C99، ولكنها توفر المُعدِّلات الإضافية \fBq\fP و \fBa\fP بالإضافة إلى سلوك إضافي للمُعدِّلات \fBL\fP و \fBll\fP. يمكن اعتبار الأخير خطأ، لأنه يُغير سلوك المُعدِّلات المُعرَّفة في C99. .P بعض التركيبات من مُعدِّلات النوع ومحددات التحويل المُعرَّفة بواسطة C99 لا معنى لها (مثلًا، \fB%Ld\fP). بينما قد يكون لها سلوك محدد جيدًا على لينكس، فإن هذا ليس ضروريًا على الأنظمة الأخرى. لذلك من الأفضل عادةً استخدام مُعدِّلات غير مُعرَّفة بواسطة C99 على الإطلاق، أي استخدام \fBq\fP بدلًا من \fBL\fP مع تحويلات \fBd\fP و \fBi\fP و \fBo\fP و \fBu\fP و \fBx\fP و \fBX\fP أو \fBll\fP. .P استخدام \fBq\fP ليس هو نفسه كما في 4.4BSD، حيث يمكن استخدامه في تحويلات الفاصلة العائمة بشكل مكافئ لـ \fBL\fP. .SH أمثلة لاستخدام محدد تحويل التخصيص الديناميكي، حدد \fBm\fP كمُعدِّل طول (وبالتالي \fB%ms\fP أو \fB%m[\fP\f[I]range\fB]\fP). يجب على المستدعي تحرير السلسلة المُرجَعة باستخدام \fBfree\fP(3)، كما في المثال التالي: .P .in +4n .EX char *p; int n; \& errno = 0; n = sscanf(str, "%m[a\-z]", &p); if (n == 1) { printf("read: %s\[rs]n", p); free(p); } else if (errno != 0) { perror("sscanf"); } else { fprintf(stderr, "No matching characters\[rs]n"); } .EE .in .P كما هو موضح في المثال أعلاه، من الضروري استدعاء \fBfree\fP(3) فقط إذا قرأت استدعاء \fBsscanf\fP() سلسلة محارف بنجاح. .SH "انظر أيضًا" \fBgetc\fP(3)، \fBprintf\fP(3)، \fBsetlocale\fP(3)، \fBstrtod\fP(3)، \fBstrtol\fP(3)، \fBstrtoul\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 .