Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để nối hai chuỗi

Chuỗi là một mảng ký tự một chiều được kết thúc bằng ký tự null. Nối hai chuỗi là việc nối chúng để tạo thành một chuỗi mới. Ví dụ.

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

Một chương trình để nối hai chuỗi được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

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

Trong chương trình trên, có hai chuỗi str1 và str2. Vòng lặp for được sử dụng để đến cuối str1. Ở cuối vòng lặp for, i chứa chỉ số của giá trị null trong str1. Đoạn mã sau minh họa điều này.

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

Vòng lặp while được sử dụng để chuyển giá trị của str2 sang str1. Biến j bắt đầu từ 0 và sao chép ký tự trong str2 vào str1 tại vị trí được chỉ bởi i. Vòng lặp này chạy cho đến khi giá trị của str2 [j] không phải là null. Điều này được thể hiện như sau.

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

Sau khi các chuỗi được nối trong str1, null sẽ được thêm vào cuối. Sau đó, chuỗi được nối được hiển thị. Đoạn mã cho điều này như sau -

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