fnmatch(3)

الاسم
fnmatch - طابَق اسم الملف أو مساره

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <fnmatch.h>

int fnmatch(const char *pattern, const char *string, int flags);

الوصف
تتحقق الدالة fnmatch() مما إذا كانت وسيطة string تطابق وسيطة pattern، وهي نمط بدل شامل للقشرة (انظر glob(7)).

تعدل وسيطة flags السلوك؛ وهي حاصل الجمع المنطقي (OR) لصفر أو أكثر من الأعلام التالية:

FNM_NOESCAPE
    إذا ضُبط هذا العلم، يُعامل الخط المائل العكسي كمحرف عادي بدلاً من محرف هروب.

FNM_PATHNAME
    إذا ضُبط هذا العلم، يُطابق الخط المائل في string فقط مع خط مائل في pattern وليس بواسطة محرف بدل (*) أو علامة استفهام (?)، ولا بتعبير قوسي ([]) يحتوي على خط مائل.

FNM_PERIOD
    إذا ضُبط هذا العلم، يجب أن تُطابق النقطة البادئة في string تماماً بنقطة في pattern. تُعتبر النقطة بادئة إذا كانت أول محرف في string، أو إذا ضُبط FNM_PATHNAME وتتبعت النقطة خطاً مائلاً مباشرة.

FNM_FILE_NAME
    هذا مرادف GNU لـ FNM_PATHNAME.

FNM_LEADING_DIR
    إذا ضُبط هذا العلم (إضافة GNU)، يُعتبر النمط مطابقاً إذا طابق مقطعاً أولياً من string يتبعه خط مائل. هذا العلم مخصص أساساً للاستخدام الداخلي لـ glibc ويُطبَّق فقط في حالات معينة.

FNM_CASEFOLD
FNM_IGNORECASE (نفس FNM_CASEFOLD)
    إذا ضُبط هذا العلم، يُطابق النمط دون تمييز حالة الأحرف.

FNM_EXTMATCH
    إذا ضُبط هذا العلم (إضافة GNU)، تُدعم الأنماط الموسعة، كما قدمتها 'ksh' وتدعمها الآن قذائف أخرى. التنسيق الموسع هو كما يلي، مع pattern-list كقائمة أنماط مفصولة بـ '|'.

'?(قائمة-النمط)'
    يطابق النمط إذا طابقت صفر أو حدوث واحد من أي من الأنماط في قائمة-النمط سلسلة المحارف المدخلة.

'*(قائمة-النمط)'
    يطابق النمط إذا طابقت صفر أو أكثر من حدوثات أي من الأنماط في قائمة-النمط سلسلة المحارف المدخلة.

'+(قائمة-النمط)'
    يطابق النمط إذا طابقت حدوثة واحدة أو أكثر من أي من الأنماط في قائمة-النمط سلسلة المحارف المدخلة.

'@(قائمة-النمط)'
    يطابق النمط إذا طابقت حدوثة واحدة بالضبط من أي من الأنماط في قائمة-النمط سلسلة المحارف المدخلة.

'!(قائمة-النمط)'
    يطابق النمط إذا تعذرت مطابقة سلسلة المحارف المدخلة مع أي من الأنماط في قائمة-النمط.

قيمة الإرجاع
صفر إذا طابقت سلسلة المحارف النمط، FNM_NOMATCH إذا لم توجد مطابقة أو قيمة غير صفرية أخرى إذا وُجد خطأ.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
fnmatch() | سلامة الخيوط | بيئة محلية آمنة لتعدد الخيوط (MT-Safe)

المعايير

fnmatch()
    POSIX.1-2008.

FNM_CASEFOLD
FNM_IGNORECASE
    POSIX.1-2024.

FNM_FILE_NAME
FNM_LEADING_DIR
    GNU.

التاريخ

fnmatch()
    POSIX.1-2001, POSIX.2.

FNM_CASEFOLD
    كان متاحًا على العديد من الأنظمة حتى قبل POSIX.1-2024.

انظر أيضًا
sh(1)، glob(3)، scandir(3)، wordexp(3)، glob(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.