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

ماذا تفعل وظيفة ستركات في لغة البرمجة?

  • حيّان الحكم بن سعد العشيرة
  • المدونة

يتم استخدام وظيفة ستركات() في لغة البرمجة لسلسلة (الانضمام) سلاسل. وهو جزء من مكتبة سي القياسية ومتاح في العديد من لغات البرمجة ، بما في ذلك سي++ ، سي# ، جافا وغيرها.

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

على سبيل المثال ، إذا كان هناك سطرين: "مرحبا" و "العالم!"،بعد استدعاء وظيفة ستركات ، السطر الأول سوف تصبح " مرحبا ، العالم!".

وظيفة ستركات لديها بناء الجملة التالي:

ستركات (الوجهة ، المصدر)

حيث الوجهة هو مؤشر إلى السطر الذي سيتم إضافة المحتوى ، والمصدر هو مؤشر إلى السطر المراد إضافته.

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

  1. التعرف على وظيفة ستركات
  2. تحديد وظيفة ستركات
  3. باستخدام وظيفة ستركات
  4. معلمات وظيفة ستركات:
  5. ملامح وظيفة ستركات
  6. أمثلة على استخدام وظيفة ستركات
  7. سؤال وجواب
  8. ما هي وظيفة ستركات وما هو استخدامه لفي لغة البرمجة?
  9. ما هو بناء الجملة من وظيفة ستركات?
  10. ماذا يحدث إذا كانت السلسلة المستهدفة في وظيفة ستركات ليست كبيرة بما يكفي لإضافة مصدر?
  11. هل من الممكن استخدام وظيفة ستركات إلى الجمع بين أكثر من سلسلتين?
  12. هل من الممكن استخدام وظيفة ستركات إلى الجمع بين سلسلة وحرف?
  13. ما هي البدائل لوظيفة ستركات في لغة البرمجة?

التعرف على وظيفة ستركات

وظيفة ستركات في لغة البرمجة هي واحدة من وظائف مكتبة ج القياسية المصممة للجمع بين سلسلتين.

بناء الجملة الأساسي لوظيفة ستركات هو كما يلي:

ملف الرأسوظيفة النموذج
# تشمل شار * ستركات (شار * ديست ، كونست شار * سرك);

أين:

  • دست-مؤشر إلى مجموعة من الأحرف التي السلسلة
  • سيتم إضافة سرك-مؤشر إلى السلسلة التي سيتم إضافتها إلى ديست

وظيفة ستركات يجمع بين محتويات سلسلة سرك مع نهاية سلسلة ديست. ستكون نتيجة الدالة سلسلة تتكون من سلسلة ديست ، تليها سلسلة سرك. Обратите внимание, что strcat изменяет исходный массив dest.

Пример использования функции strcat:

#include 

#include

int main() {

char str1[50] = "Hello";

char str2[] = " World!";

strcat(str1, str2);

printf("Concatenated string: %s

", str1);

return 0;

}

В данном примере будет выведена строка «Hello World!».

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

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

تحديد وظيفة ستركات

وظيفة ستركات هي واحدة من وظائف لغة البرمجة ج ويهدف إلى الجمع بين سلسلتين. اسم وظيفة ستركات هو اختصار ل "سلسلة سلسلة" ، وهو ما يعني" سلسلة سلسلة " باللغة الإنجليزية.

وظيفة ستركات يجمع بين سطرين عن طريق إضافة محتويات السطر الثاني إلى السطر الأول. يتم حفظ النتيجة في السطر الأول.

وظيفة ستركات لديها بناء الجملة التالي:

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

ديست هو مؤشر إلى السلسلة التي سيتم إضافة سلسلة سرك.

سرك هو مؤشر إلى السلسلة التي سيتم إضافتها إلى سلسلة ديست.

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

وظيفة ستركات بإرجاع مؤشر إلى سلسلة ديست ، الذي يحتوي على نتيجة الجمع بين السلاسل.

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

فيما يلي مثال على استخدام دالة ستركات:

# تشمل

# تشمل

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

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

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

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

برينتف ("سلسلة متسلسلة: ٪ س" ، ستري1);

العودة 0;

}

نتيجة لتنفيذ هذا الرمز، " مرحبا بالعالم!"سيتم الإخراج ، لأن وظيفة ستركات يجمع بين محتويات سلسلة ستر2 مع محتويات سلسلة ستر1 ، وتوفير النتيجة في سلسلة ستر1.

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

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

النموذج الأولي من وظيفة ستركات يبدو مثل هذا:

شار * ستركات (شار * ستري1 ، كونست شار * ستري2);

هنا ستري1 هو مؤشر إلى السطر الأول ليتم تغييره. ستر2 هو مؤشر إلى السلسلة التي سيتم إضافتها إلى نهاية ستر1.

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

# تشمل

# تشمل

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

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

كونست شار * ستر2 = " العالم!";

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

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

العودة 0;

}

في هذا المثال ، نجمع السلسلة "مرحبا" مع السلسلة " العالم!". ستكون نتيجة تنفيذ البرنامج عرض السطر " مرحبا ، العالم!".

يمكن أيضا استخدام وظيفة ستركات لدمج أكثر من سلسلتين. على سبيل المثال:

# تشمل

# تشمل

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

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

كونست شار * ستر2 = " العالم!";

كونست شار * ستر 3= " كيف حالك?";

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

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

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

العودة 0;

}

في هذا المثال ، نقوم بدمج السلسلة" مرحبا " مع سلسلتين أخريين. ستكون نتيجة تنفيذ البرنامج عرض السطر " مرحبا ، العالم! كيف حالك؟».

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

معلمات وظيفة ستركات:

ستركات هي وظيفة من ج لغة البرمجة التي تستخدم لدمج سلسلتين في واحد. يقبل المعلمات التالية:

  1. شار * ديست: مؤشر إلى السلسلة المستهدفة التي سيتم إضافة سلسلة المصدر إليها.
  2. كونست شار * سرك: مؤشر إلى سلسلة المصدر التي يمكن ان تضاف إلى سلسلة الهدف.

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

شرح المعلمات:

  • ديست: السلسلة المستهدفة التي سيتم إضافة سلسلة المصدر إليها.
  • سرك: سلسلة المصدر المراد إضافتها إلى السلسلة المستهدفة.

الدالة لا ترجع قيمة. إنه ببساطة يعدل السلسلة المستهدفة عن طريق إضافة سلسلة مصدر إليها.

ملامح وظيفة ستركات

يتم استخدام وظيفة ستركات في لغة البرمجة ج لسلسلة (الجمع) سلسلتين. يسمح لك بإضافة محتويات سطر واحد إلى نهاية سطر آخر.

بناء الجملة الأساسي للدالة ستركات:

شار * ستركات (شار *الوجهة ، كونست شار * المصدر);

أين:

  • الوجهة هي مؤشر إلى السلسلة التي ستتم إضافة محتويات السلسلة المصدر إليها.
  • المصدر-مؤشر إلى السلسلة التي سيتم إضافتها إلى سلسلة الوجهة.

ملامح وظيفة ستركات:

  1. تعدل وظيفة ستركات محتويات السلسلة المشار إليها حسب الوجهة عن طريق إضافة محتويات السلسلة المصدر إلى نهاية الوجهة. نتيجة الدالة هي مؤشر إلى سلسلة الوجهة.
  2. يجب أن تكون سلسلة الوجهة كبيرة بما يكفي لاستيعاب محتويات السلسلة المصدر ، بالإضافة إلى حرف الصفر الزائد '\0'. خلاف ذلك ، قد تؤدي عملية التسلسل إلى فيضان الذاكرة وسلوك البرنامج غير المحدد.
  3. وظيفة ستركات لا تحقق ما إذا كان يتم تخصيص ذاكرة كافية لسلسلة الوجهة. لذلك ، يحتاج المبرمج إلى توخي الحذر عند استخدام هذه الوظيفة والتحكم في حجم السلاسل.
  4. الدالة ستركات لا نسخ حرف الصفر زائدة من السلسلة المصدر. لذلك ، قبل استخدام وظيفة ستركات ، تحتاج إلى التأكد من أن سلسلة المصدر تنتهي مع الحرف '\0'.
  5. بعد دمج السلاسل ، ستحتوي السلسلة الناتجة على أحرف من كلا السلسلتين. يؤدي المؤشر إلى السلسلة المدمجة إلى نفس المكان في الذاكرة حيث توجد السلسلة الوجهة. لذلك ، من غير المقبول تحرير الذاكرة المخصصة للسلسلة المصدر طالما أن الوصول إلى السلسلة المدمجة مطلوب.

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

# تشمل

# تشمل

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

وجهة شار [20] ="مرحبا";

كونست شار المصدر [] = " العالم!";

ستركات (الوجهة ، المصدر);

برينتف ("سلسلة متسلسلة: ٪ س" ، الوجهة);

العودة 0;

}

نتيجة تنفيذ البرنامج:

سلسلة متسلسلة: مرحبا بالعالم!

أمثلة على استخدام وظيفة ستركات

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

مثال 1:

لنفترض أن لدينا سلسلتين:

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

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

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

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

بعد تنفيذ هذا الرمز ، سيحتوي متغير ستري1 على السلسلة " مرحبا ، العالم!".

المثال 2:

يمكن استخدام وظيفة ستركات لدمج السلاسل ديناميكيا:

شار * ستر1 = (شار *)مالوك (100 * حجم (شار));

ستركبي (ستري1 ، "مرحبا");

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

ستر 1 = (شار *)ريالوك (ستر 1، (سترلين (ستر 1) + سترلين (ستر 2) + 1) * حجم (شار));

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

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

المثال 3:

وهناك طريقة أخرى لاستخدام وظيفة ستركات هو إضافة حرف إلى نهاية السلسلة:

شارع شار [100] = "مرحبا";

شار الفصل = 'ث';

شار ستر2[2] ={الفصل ، '\ 0'};

(ستر ، ستر 2);

في هذا المثال ، نعلن عن المتغير الفصل وتهيئته بالرمز 'ث'. ثم نقوم بإنشاء سلسلة جديدة ستر2 تحتوي فقط على هذا الحرف وبايت فارغ في النهاية. ثم نستخدم وظيفة ستركات لإضافة ستر 2 إلى شارع. ونتيجة لذلك ، فإن متغير ستر تحتوي على سلسلة "مرحبا ، ث".

سؤال وجواب

ما هي وظيفة ستركات وما هو استخدامه لفي لغة البرمجة?

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

ما هو بناء الجملة من وظيفة ستركات?

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

ماذا يحدث إذا كانت السلسلة المستهدفة في وظيفة ستركات ليست كبيرة بما يكفي لإضافة مصدر?

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

هل من الممكن استخدام وظيفة ستركات إلى الجمع بين أكثر من سلسلتين?

لا ، وظيفة ستركات لا توفر القدرة على الجمع بين أكثر من سلسلتين مباشرة. يسمح لك فقط بدمج سلسلتين معا. ومع ذلك ، يمكنك استخدام وظيفة ستركات بالتتابع لدمج سلاسل متعددة. على سبيل المثال ، لدمج السلاسل "مرحبا" و "العالم" و "!"،يمكنك استخدام الكود التالي: (1 ، 2) ؛ (1 ، 3);

هل من الممكن استخدام وظيفة ستركات إلى الجمع بين سلسلة وحرف?

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

ما هي البدائل لوظيفة ستركات في لغة البرمجة?

في لغة البرمجة ، هناك العديد من الوظائف البديلة لدمج السلاسل. بعضها: سترنكات-يضيف عددا محدودا من الأحرف إلى نهاية السطر ؛ ستركبي — ينسخ محتويات سطر واحد إلى آخر ؛ سترنكبي — ينسخ العدد المحدد من الأحرف من سطر إلى آخر بحد محدد. يمكنك أيضا استخدام عوامل التشغيل المتسلسلة ( + ) أو وظائف سبرينتف لتسلسل السلاسل.