العودة إلى الدورة

دوال مكتبة السلاسل النصية القياسية

لغة C: من الصفر إلى الاحتراف - الدليل الشامل للمبتدئين

الدرس 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 (التي تأخذ وسيطاً للحجم) لمنع تجاوز سعة التخزين المؤقت.