.\" -*- 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 strsep 3 "25 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم strsep \- استخراج رمز من سلسلة محارف .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBchar *strsep(char **restrict \fP\fIstringp\fP\fB, const char *restrict \fP\fIdelim\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBstrsep\fP(): .nf منذ glibc 2.19: _DEFAULT_SOURCE glibc 2.19 وما قبله: _BSD_SOURCE .fi .SH الوصف إذا كان \fI*stringp\fP فارغًا (NULL)، تُعيد الدالة \fBstrsep\fP() قيمة NULL ولا تفعل شيئًا آخر. وإلا، تجد هذه الدالة أول رمز في السلسلة \fI*stringp\fP المُحدَّد بأحد البايتات في السلسلة \fIdelim\fP. يُنهى هذا الرمز باستبدال المُحدِّد ببايت فارغ (\[aq]\[rs]0\[aq])، ويُحدَّث \fI*stringp\fP ليشير إلى ما بعد الرمز. في حال عدم العثور على مُحدِّد، يُؤخذ الرمز كامل السلسلة \fI*stringp\fP، ويُجعل \fI*stringp\fP فارغًا (NULL). .SH "قيمة الإرجاع" تُعيد الدالة \fBstrsep\fP() مؤشرًا إلى الرمز، أي أنها تُعيد القيمة الأصلية لـ \fI*stringp\fP. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBstrsep\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير BSD. .SH التاريخ 4.4BSD. .P أُدخلت الدالة \fBstrsep\fP() كبديل لـ \fBstrtok\fP(3)، لأن الأخيرة لا تستطيع معالجة الحقول الفارغة. .SH تحذيرات توخ الحذر عند استخدام هذه الدالة. إذا استخدمتها، فلاحظ أن: .IP \[bu] 3 يُفقد هوية الحرف المُحدِّد. .SH أمثلة البرنامج أدناه هو نسخة من البرنامج الموجود في \fBstrtok\fP(3)، والذي لا يتجاهل المُحدِّدات المتعددة أو الرموز الفارغة: .P .in +4n .EX $\fB ./a.out \[aq]a/bbb///cc;xxx:yyy:\[aq] \[aq]:;\[aq] \[aq]/\[aq]\fP 1: a/bbb///cc \-\-> a \-\-> bbb \-\-> \-\-> \-\-> cc 2: xxx \-\-> xxx 3: yyy \-\-> yyy 4: \-\-> .EE .in .SS "مصدر البرنامج" .\" SRC BEGIN (strsep.c) \& .EX #include #include #include \& int main(int argc, char *argv[]) { char *token, *subtoken; \& if (argc != 4) { fprintf(stderr, "Usage: %s string delim subdelim\[rs]n", argv[0]); exit(EXIT_FAILURE); } \& for (unsigned int j = 1; (token = strsep(&argv[1], argv[2])); j++) { printf("%u: %s\[rs]n", j, token); \& while ((subtoken = strsep(&token, argv[3]))) printf("\[rs]t \-\-> %s\[rs]n", subtoken); } \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "انظر أيضًا" \fBmemchr\fP(3), \fBstrchr\fP(3), \fBstring\fP(3), \fBstrpbrk\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\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 .