Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C ++ เพื่อเชื่อมสองสตริง


สตริงคืออาร์เรย์อักขระหนึ่งมิติที่สิ้นสุดโดยอักขระ null การต่อกันของสองสตริงเป็นการรวมกันเพื่อสร้างสตริงใหม่ ตัวอย่างเช่น

String 1: Mangoes are
String 2: tasty
Concatenation of 2 strings: Mangoes are tasty

มีโปรแกรมสำหรับเชื่อมสองสตริงดังนี้

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
   char str1[100] = "Hi...";
   char str2[100] = "How are you";
   int i,j;
   cout<<"String 1: "<<str1<<endl;
   cout<<"String 2: "<<str2<<endl;
   for(i = 0; str1[i] != '\0'; ++i);
   j=0;
   while(str2[j] != '\0') {
      str1[i] = str2[j];
      i++;
      j++;
   }
   str1[i] = '\0';
   cout<<"String after concatenation: "<<str1;
   return 0;
}

ผลลัพธ์

String 1: Hi...
String 2: How are you
String after concatenation: Hi...How are you

ในโปรแกรมข้างต้น มีสองสตริง str1 และ str2 ใช้ for loop เพื่อไปถึงจุดสิ้นสุดของ str1 ในตอนท้ายของ for loop i มีดัชนีของค่า null ใน str1 ข้อมูลโค้ดต่อไปนี้แสดงให้เห็นสิ่งนี้

for(i = 0; str1[i] != '\0'; ++i);

วง while ใช้เพื่อถ่ายโอนค่าของ str2 ไปยัง str1 ตัวแปร j เริ่มจาก 0 และคัดลอกอักขระใน str2 ไปยัง str1 ที่ตำแหน่งที่ i ชี้ วนรอบนี้ทำงานจนกว่าค่าของ str2[j] ไม่เป็นโมฆะ นี้แสดงให้เห็นดังนี้

j=0;
while(str2[j] != '\0') {
   str1[i] = str2[j];
   i++;
   j++;
}

หลังจากต่อสตริงใน str1 แล้ว ค่า null จะถูกเพิ่มต่อท้าย จากนั้นสตริงที่ต่อกันจะปรากฏขึ้น ข้อมูลโค้ดสำหรับสิ่งนี้มีดังนี้ −

str1[i] = '\0';
cout<<"String after concatenation: "<<str1;