Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

두 문자열을 연결하는 C++ 프로그램

<시간/>

문자열은 null 문자로 끝나는 1차원 문자 배열입니다. 두 문자열의 연결은 새로운 문자열을 형성하기 위해 결합하는 것입니다. 예를 들어.

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에 있는 null 값의 인덱스를 포함합니다. 다음 코드 스니펫은 이를 보여줍니다.

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

while 루프는 str2의 값을 str1로 전송하는 데 사용됩니다. 변수 j는 0에서 시작하여 str2의 문자를 str1의 i가 가리키는 위치에 복사합니다. 이 루프는 str2[j]의 값이 null이 아닐 때까지 실행됩니다. 이것은 다음과 같이 증명됩니다.

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

문자열이 str1에서 연결된 후 null이 끝에 추가됩니다. 그런 다음 연결된 문자열이 표시됩니다. 이에 대한 코드 조각은 다음과 같습니다 -

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