连接两个字符串的C ++程序

字符串是一维字符数组,以空字符结尾。两个字符串的串联是将它们连接起来以形成一个新的字符串。例如。

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循环用于到达str1的末尾。在for循环的末尾,i在str1中包含空值的索引。以下代码段对此进行了演示。

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

while循环用于将str2的值传输到str1。变量j从0开始,并在i指向的位置将str2中的字符复制到str1中。该循环运行直到str2 [j]的值不为空。证明如下。

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

在str1中将字符串串联后,将null添加到末尾。然后显示连接的字符串。为此的代码片段如下-

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