الدرس 31: دوال مكتبة السلاسل النصية القياسية
للتلاعب بالسلاسل النصية، يجب عليك تضمين ملف الرأس <string.h>. هذه الدوال حيوية في برمجة C.
1. إيجاد الطول: strlen()
تعيد عدد الأحرف في السلسلة النصية، باستثناء حرف الصفر (\0).
c #include <string.h>
char str[] = "Code"; size_t len = strlen(str); // الطول هو 4
2. نسخ السلاسل: strcpy()
تنسخ سلسلة المصدر إلى مصفوفة الوجهة. تحذير: يجب أن تكون مصفوفة الوجهة كبيرة بما يكفي لاستيعاب سلسلة المصدر بالإضافة إلى حرف الصفر.
c char src[] = "Hello"; char dest[10]; strcpy(dest, src); // تحتوي dest الآن على "Hello"
3. الدمج: strcat()
تضيف سلسلة المصدر إلى نهاية سلسلة الوجهة.
c char first[20] = "C "; char last[] = "Programming"; strcat(first, last); // تحتوي first الآن على "C Programming"
4. المقارنة: strcmp()
تقارن بين سلسلتين نصيتين معجمياً (أبجدياً).
- تعيد 0 إذا كانت السلسلتان متطابقتين.
- تعيد قيمة سالبة إذا كانت السلسلة 1 تسبق السلسلة 2.
- تعيد قيمة موجبة إذا كانت السلسلة 1 تأتي بعد السلسلة 2.
c char s1[] = "apple"; char s2[] = "banana";
if (strcmp(s1, s2) == 0) { printf("السلسلتان متساويتان.\n"); }
البدائل الآمنة: بالنسبة لدوال مثل strcpy و strcat ، غالباً ما يُفضل استخدام البدائل الآمنة مثل strncpy و strncat (التي تأخذ وسيطاً للحجم) لمنع تجاوز سعة التخزين المؤقت.