wcstok(3)

الاسم
wcstok - تقسيم سلسلة محارف عريضة إلى رموز

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

موجز
#include <wchar.h>

wchar_t *wcstok(wchar_t *restrict wcs, const wchar_t *restrict delim,
                wchar_t **restrict ptr);

الوصف
الدالة wcstok() هي المكافئ عريض المحارف للدالة strtok(3)، مع وسيط إضافي لجعلها آمنة للخيوط المتعددة. يمكن استخدامها لتقسيم سلسلة محارف عريضة wcs إلى رموز، حيث يُعرَّف الرمز على أنه سلسلة فرعية لا تحتوي على أي محارف عريضة من delim.

يبدأ البحث عند wcs، إذا لم يكن wcs NULL، أو عند *ptr، إذا كان wcs NULL. أولاً، تُتجاوز أي محارف عريضة فاصلة، أي يُقدَّم المؤشر بعد أي محارف عريضة تظهر في delim. إذا وُصل الآن إلى نهاية سلسلة المحارف العريضة، تُرجع wcstok() NULL، للإشارة إلى عدم العثور على رموز، وتُخزِّن قيمة مناسبة في *ptr، بحيث تستمر الاستدعاءات اللاحقة لـ wcstok() في إرجاع NULL. وإلا، تتعرف الدالة wcstok() على بداية رمز وتُرجِع مؤشرًا إليه، ولكن قبل ذلك، تُنهي الرمز بصفر عن طريق استبدال المحرف العريض التالي الذي يظهر في delim بمحرف عريض فارغ (L'\0')، وتُحدِّث *ptr بحيث تستمر الاستدعاءات اللاحقة في البحث بعد نهاية الرمز المُعرَّف.

قيمة الإرجاع
تُرجع الدالة wcstok() مؤشرًا إلى الرمز التالي، أو NULL إذا لم يُعثر على رمز آخر.

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

المعايير
C11, POSIX.1-2008.

التاريخ
POSIX.1-2001، C99.

ملاحظات
تُعدَّل سلسلة المحارف العريضة الأصلية wcs تعديلاً إتلافيًا أثناء العملية.

أمثلة
يتنقل الكود التالي عبر الرموز الموجودة في سلسلة محارف عريضة.

    wchar_t *wcs = ...;
    wchar_t *token;
    wchar_t *state;
    for (token = wcstok(wcs, L" \t\n", &state);
        token != NULL;
        token = wcstok(NULL, L" \t\n", &state)) {
        ...
    }

انظر أيضًا
strtok(3), wcschr(3)

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

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

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