البرمجة

استخدام دالة strtok في لغة C لاستخراج مقاطع فرعية

عندما يتعلق الأمر بالحصول على مقاطع فرعية في لغة البرمجة C، هناك عدة طرق يمكن أن تساعدك في تحقيق ذلك بشكل فعّال. لنلقي نظرة على كيفية تحقيق هذا الهدف باستخدام لغة البرمجة C.

في المثال الذي قدمته، تريد الحصول على مقاطع فرعية من السلسلة “xxxx; yyyy”. أحد الطرق الشائعة لتحقيق ذلك هو باستخدام وظيفة strtok التي توفرها C. تستخدم هذه الوظيفة لفصل السلسلة إلى أجزاء فرعية باستخدام فاصل معين.

c
#include #include int main() { char z[] = "xxxx; yyyy"; char* token; // الحصول على الجزء الأول "xxxx" token = strtok(z, ";"); char* x = token; // الحصول على الجزء الثاني "yyyy" token = strtok(NULL, ";"); char* y = token; // طباعة النتائج printf("x = \"%s\"\n", x); printf("y = \"%s\"\n", y); return 0; }

في هذا المثال، يتم استخدام strtok لتقسيم السلسلة إلى جزأين باستخدام الفاصل “;”. يتم تخزين الجزء الأول في المتغير x والجزء الثاني في المتغير y. يمكنك ثم استخدام هذه المتغيرات كمقاطع فرعية وفقًا لاحتياجاتك.

ومن الجدير بالذكر أنه يمكنك اللجوء إلى أساليب أخرى مثل استخدام وظائف من أسرة strstr للبحث عن النصوص داخل السلسلة واستخراج المقاطع فرعية بناءً على ذلك. تعتمد الخيارات على المتطلبات الخاصة ببرنامجك والتي تفضلها.

المزيد من المعلومات

بالطبع، دعونا نوسع قليلاً على الطريقة التي تم استخدامها في المثال السابق، ولنلقي نظرة على بعض النقاط الهامة المتعلقة بالعمليات التي تم تنفيذها.

  1. تضمين المكتبات اللازمة:
    في الكود السابق، تم استخدام مكتبتين هامتين، وهما و ، حيث توفر الأولى وظائف للإدخال والإخراج القياسي، بينما تحتوي الثانية على العديد من الوظائف المفيدة لمعالجة السلاسل.

    c
    #include #include
  2. تعريف واستخدام المتغيرات:
    تم تعريف المتغير z كمصفوفة من الطابع char لتخزين السلسلة “xxxx; yyyy”.

    c
    char z[] = "xxxx; yyyy";

    كما تم استخدام مؤشر char* token لتخزين النتائج المؤقتة أثناء تقسيم السلسلة.

  3. استخدام strtok:
    strtok هي وظيفة تقوم بتقسيم السلسلة إلى جزئين باستخدام فاصل محدد (في هذه الحالة، الفاصل هو “;”). يتم تحديد الجزء الأول من السلسلة باستخدام strtok(z, ";")، ويتم الحصول على الجزء الثاني باستخدام strtok(NULL, ";").

    c
    token = strtok(z, ";"); char* x = token; token = strtok(NULL, ";"); char* y = token;
  4. طباعة النتائج:
    أخيرًا، تم استخدام printf لطباعة النتائج. يتم طباعة المقاطع الفرعية x و y باستخدام التنسيق الصحيح %s.

    c
    printf("x = \"%s\"\n", x); printf("y = \"%s\"\n", y);

تذكير: يفضل دائمًا التحقق من حدود السلسلة وتفادي استخدام strtok في حالات تتطلب الحفاظ على الحالة بين الاستدعاءات، حيث أن strtok تعتبر وسيلة لاحتفاظ بحالة الفاصل بين الاستدعاءات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر