Menu
CoddyTech

سلاسل C النصية - الجزء الأول

جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 67 من 74.

تُنشأ السلاسل النصية بأسلوب C باستخدام النوع char بدلًا من string. وتنتهي بمحرف خاص يُسمّى المحرف الفارغ ('\0').

يحدد هذا المحرف نهاية السلسلة النصية. وغالبًا ما يُشار إلى السلاسل النصية بأسلوب C باسم «السلاسل النصية المنتهية بمحرف صفري».

على سبيل المثال، تصريح بسيط:

char str1[] = "Hello";

تم التصريح عن str1 دون تحديد حجم معيّن. يحدّد المترجم الحجم تلقائيًا بناءً على القيمة الابتدائية (بما في ذلك الحرف الفارغ).

مثال على التهيئة الصريحة باستخدام المحارف:

char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};

تم التصريح عن str2 بحجم 6 وتهيئته صراحةً بأحرف، بما في ذلك محرف الإنهاء الفارغ في النهاية.

مثال على التهيئة الجزئية:

char str3[10] = "Coddy";

تم التصريح عن str3 بحجم 10، لكن تمت تهيئة الأحرف الستة الأولى فقط. وتُملأ بقية المصفوفة بأحرف فارغة.

لاستخدام دوال السلاسل النصية بأسلوب C، نحتاج إلى تضمين ملف الترويسة هذا:

#include <cstring>

بعد التضمين، يمكننا استخدام الدالة strlen للحصول على طول سلسلة نصية بأسلوب C:

std::cout << strlen(str1); // الناتج: 5
challenge icon

التحدي

سهل

أنشئ دالة باسم printStringInfo تأخذ سلسلة نصية بأسلوب C كمدخل وتنفّذ ما يلي:

  1. String:  متبوعة بالسلسلة النصية الأصلية.
  2. Length:  متبوعة بنتيجة strlen(str).
  3. Character at index 4:  متبوعة بالحرف الموجود في ذلك الموضع.
  4. Modified string:  متبوعة بالسلسلة النصية بعد تغيير الحرف الأول إلى X.

جرّب بنفسك

#include <iostream>
#include <cstring>

void printStringInfo(char str[]) {
    // اطبع السلسلة النصية
    

    // اطبع طول السلسلة النصية
    

    // اطبع الحرف عند الفهرس 4
    

    // غيّر الحرف الأول إلى 'X'
    

    // اطبع السلسلة النصية بعد تعديلها
    
}

int main() {
    char message[] = "Hello, World!";

    printStringInfo(message);

    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم C++ عبر الإنترنت