الانتقال إلى المحتوى الرئيسي

كيفية إضافة سلاسل في ج: الطرق والوظائف الأساسية لسلسلة السلسلة

واحدة من المهام الأكثر شيوعا في ج البرمجة هو سلسلة سلسلة. التسلسل هو عملية الجمع بين سلسلتين أو أكثر في سلسلة واحدة. هناك عدة طرق لحل هذه المشكلة في اللغة ج ، ولكل منها مزاياه وعيوبه.

واحدة من أسهل الطرق لإضافة سلاسل في ج هو استخدام عامل التشغيل "+" لدمج سلسلتين. ومع ذلك ، قد تكون هذه الطريقة غير فعالة بسبب الحاجة إلى إنشاء سطر جديد ونسخ جميع الأحرف فيه.

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

وظائف أخرى مفيدة للعمل مع سلاسل في ج هي سترنكات و سترنكبي. وظيفة سترنكات يسمح لك الجمع بين عدد محدد من الأحرف من السطر الثاني مع الأول ، وظيفة سترنكبي يسمح لك لنسخ عدد محدد من الأحرف من سطر واحد إلى آخر. يمكن أن تكون هذه الوظائف مفيدة عند العمل مع سلاسل فرعية أو عند معالجة سلاسل ذات طول متغير.

  1. الطرق الرئيسية لسلسلة السلاسل في ج
  2. باستخدام وظيفة ستركات ()
  3. باستخدام عامل التشغيل + =
  4. باستخدام سترنكات()
  5. وظيفة باستخدام سبرينتف()
  6. وظيفة باستخدام ميمكبي ()
  7. وظيفة باستخدام سترلكات () وظيفة
  8. سؤال وجواب
  9. هل من الممكن الجمع بين السلاسل في ج دون استخدام وظائف?

الطرق الرئيسية لسلسلة السلاسل في ج

في ال لغة البرمجة ج ، هناك عدة طرق لتسلسل (إضافة) سلاسل. دعونا ننظر إلى أهمها:

    العودة 0;

    }

    استخدام مكتبة ' سبرينتف`

    توفر مكتبة 'سبرينتف' وظيفة بنفس الاسم الذي يسمح لك لتنسيق السلاسل ، والجمع بينهما ، وحفظ النتيجة في سطر جديد. وظيفة 'سبرينتف' يأخذ ثلاث حجج: مؤشر إلى مجموعة من الأحرف حيث سيتم حفظ النتيجة وتنسيق السلسلة والوسيطات التي يجب إدراجها في السلسلة المنسقة.

    # تشمل

    كثافة العمليات الرئيسية () {

    شار ستري1 [] ="مرحبا";

    شار ستري2 [] = "العالم";

    نتيجة شار [12];

    سبرينتف (النتيجة ، "٪ س ٪ س " ، ستري1 ، ستري2);

    برينتف ("النتيجة: ٪ ق" ، النتيجة);

    العودة 0;

    }

    تسمح جميع الطرق المذكورة أعلاه بتسلسل السلاسل في ج. يعتمد اختيار طريقة معينة على تفضيلاتك ومتطلبات مشروعك.

    باستخدام وظيفة ستركات ()

    تم تصميم وظيفة ستركات () لتسلسل سلسلتين. فإنه يأخذ حجتين: الوسيطة الأولى هي مؤشر إلى مجموعة من الأحرف التي سيتم إضافة السلسلة الثانية ، الوسيطة الثانية هي مؤشر إلى السلسلة المراد إضافتها.

    • قبل استخدام وظيفة ستركات () ، تحتاج إلى التأكد من أن مجموعة الأحرف التي تريد إضافة سلسلة كبيرة بما يكفي لتخزين النتيجة النهائية. خلاف ذلك ، قد تتسبب الوظيفة في تجاوز سعة المخزن المؤقت وتؤدي إلى نتائج غير متوقعة.

    • وفيما يلي مثال على استخدام وظيفة ستركات() :

    • # تشمل

    # تشمل

    كثافة العمليات الرئيسية () {

    شار ستري1 [50] ="مرحبا";

    شار ستري2 [] = " العالم!";

    ستركات (ستري1 ، ستري2);

    برينتف ("٪س " ، ستري1);

    العودة 0;

    }

    في هذا المثال ، نعلن مجموعة من الأحرف ستري1 وتهيئته مع القيمة الأولية "مرحبا". ثم نعلن مجموعة من الأحرف ستري2 وتهيئة ذلك مع قيمة " العالم!". بعد ذلك ، نسمي وظيفة ستركات () ، ويمررها مؤشرات إلى كل من صفائف الأحرف. وتضيف الدالة ستركات () محتويات صفيف الأحرف ستري2 إلى نهاية صفيف الأحرف ستري1. ونتيجة لذلك ، نحصل على سلسلة " مرحبا ، العالم!". وظيفة برينتف() إخراج السلسلة المستلمة إلى الشاشة.

    لاحظ أن وظيفة ستركات () تعدل السلسلة الأصلية ، أي في هذا المثال ، يتم تغيير سلسلة ستري1 بإضافة سلسلة ستري2 إلى النهاية.

    باستخدام عامل التشغيل + =

    في ج ، يمكنك إضافة سلاسل باستخدام عامل التشغيل+=. يسمح لك هذا المشغل بإضافة سطر واحد إلى سطر آخر.

    على سبيل المثال ، هناك سطرين:

    # تشمل

    كثافة العمليات الرئيسية () {

    شار ستري1[10] ="مرحبا";

    شار ستري2[10] = "العالم";

    1 + = 2;

    برينتف ("٪س " ، ستري1);

    }

    ستكون نتيجة تنفيذ هذا الرمز:

    مرحبا العالم

    يضيف عامل التشغيل + = سلسلة السلسلة 2 إلى نهاية سلسلة السلسلة 1. لذلك ، بعد تطبيق المشغل ، سلسلة ستري1 سوف تحتوي على نتيجة الإضافة: "مرحبا العالم".

    يستخدم عامل التشغيل + = على نطاق واسع لتسلسل السلسلة في لغة ج. يسمح لك بإضافة سطر إلى آخر دون الحاجة إلى وظائف خاصة.

    ومع ذلك ، عند استخدام عامل التشغيل + = ، يجب أن تكون حذرا ، حيث يمكن أن يؤدي ذلك إلى تجاوز سعة المخزن المؤقت. إذا لم تأخذ في الاعتبار حجم المخزن المؤقت الذي يتم تخزين السلسلة فيه ، عند إضافة سلاسل باستخدام + = ، يمكنك الحصول على سلوك برنامج غير محدد.

    لتجنب مشاكل تجاوز سعة المخزن المؤقت ، فمن المستحسن استخدام وظائف سلسلة سلسلة القياسية مثل ستركات أو سترنكات.

    باستخدام وظيفة سترنكات ()

    تسمح لك وظيفة سترنكات () بتسلسل السلاسل ، العدد المطلوب من الأحرف التي يمكنك تحديدها. يحتوي على النموذج الأولي التالي:

    شار * سترنكات(شار * ديست ، كونست شار * سرك ، سيز_ت ن);

    أين:

    ديست هو مؤشر إلى السلسلة التي سيتم سلسلة سلسلة أخرى.

    سرك هو مؤشر إلى سلسلة التي سيتم تسلسلها إلى سلسلة أخرى.

    ن هو الحد الأقصى لعدد الأحرف المراد نسخها من سلسلة سرك. إذا كان طول سلسلة سرك أقل من ن ، سيتم نسخ جميع أحرف سلسلة سرك (بما في ذلك الحرف '\0').

    وظيفة سترنكات() يضيف محتويات سلسلة سرك إلى نهاية سلسلة ديست. فإنه ينسخ الأحرف من سلسلة سرك إلى سلسلة ديست ، بدءا من موقف نهاية الحالي من سلسلة ديست ، والاستمرار حتى الحرف '\0' أو حتى يتم نسخ الأحرف ن. بعد نسخ هذه الأحرف ، يتم إضافة حرف جديد '\0 ' إلى نهاية سلسلة ديست (إذا كان هناك مساحة حرة كافية في سلسلة ديست).

    مثال على استخدام وظيفة سترنكات() :

    # تشمل

    1. # تشمل
    2. كثافة العمليات الرئيسية () {
    3. شار ستري1 [50] ="مرحبا";
    4. شار ستري2 [20] = " العالم!";
    5. سترنكات (ستر 1 ، ستر 2 ، 6);

    برينتف ("٪س " ، ستري1);

    العودة 0;}
    باستخدام وظيفة ميمكبي ()أعلن متغيرين من نوع شار [] - المصدر والوجهة.

    قم بتعيين قيمة السطر الأول المراد دمجه في متغير المصدر.

    تعيين قيمة السطر الثاني إلى متغير الوجهة.

    تحديد متغير نوع كثافة العمليات التي سيتم تخزين حجم السطر الأول.

    استدعاء وظيفة ميمكبي () مع الوجهة ، المصدر ، وحجم السطر الأول المعلمات.

    Например:

    Код

    Результат

    • # تشمل

    # تشمل 

    كثافة العمليات الرئيسية () {

    مصدر شار [] ="مرحبا";

    شار الوجهة [50] = "العالم!";

    إنت حجم = سترلين (المصدر);

    ميمكبي (الوجهة + الحجم ، المصدر ، الحجم);