하나의 문자열을 다른 문자열로 복사하기

C++Beginner
지금 연습하기

소개

이 랩에서는 C++ 에서 문자열을 복사하는 방법을 배웁니다. 문자열 객체와 C 스타일 문자열을 모두 사용하여 이를 시연할 것입니다.

새 C++ 파일 생성

~/project 디렉토리로 이동하여 main.cpp라는 새 C++ 파일을 생성합니다.

cd ~/project
touch main.cpp

문자열 객체 복사

할당 연산자 (assignment operator) 를 사용하여 한 문자열 객체를 다른 문자열 객체로 복사할 수 있습니다. 다음 코드를 따르세요:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string s1, s2;

    cout << "Enter string s1: ";
    getline(cin, s1);

    s2 = s1;

    cout << "s1 = " << s1 << endl;
    cout << "s2 = " << s2;

    return 0;
}

설명:

  • 먼저 iostreamstring 라이브러리를 포함하여 이 프로그램에 필요한 라이브러리를 포함합니다.
  • 그런 다음 두 개의 문자열 객체 s1s2를 정의합니다.
  • 사용자는 공백을 포함한 전체 문자열을 읽는 getline() 함수를 사용하여 문자열 s1 을 입력하라는 메시지를 받습니다.
  • 할당 연산자를 사용하여 s1 을 s2 에 할당합니다.
  • 마지막으로 s1 과 s2 를 출력합니다.

코드 출력

Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!

C 스타일 문자열 복사

cstring 라이브러리의 strcpy() 함수를 사용하여 C 스타일 문자열을 복사합니다. 다음 코드를 따르세요:

#include <iostream>
#include <cstring>

using namespace std;

int main() {
    char s1[100], s2[100];

    cout << "Enter string s1: ";
    cin.getline(s1, 100);

    strcpy(s2, s1);

    cout << "s1 = " << s1 << endl;
    cout << "s2 = "<< s2;

    return 0;
}

설명:

  • 먼저 iostreamcstring 라이브러리를 포함하여 이 프로그램에 필요한 라이브러리를 포함합니다.
  • 그런 다음 두 개의 C 스타일 문자열 배열 s1s2를 정의합니다.
  • 사용자는 문자열 s1 을 입력하라는 메시지를 받습니다.
  • getline() 함수는 문자열 객체에만 사용되고 C 스타일 문자열에는 사용되지 않으므로 이 경우 사용되지 않습니다. 대신, 첫 번째 인수가 배열 변수이고 두 번째 인수가 읽을 배열의 최대 크기인 cin.getline을 사용합니다.
  • cstringstrcpy() 함수를 사용하여 문자열 s1 을 s2 에 복사합니다.
  • 마지막으로 s1 과 s2 를 출력합니다.

코드 출력

Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!

파일 실행

터미널에서 코드를 실행하려면 프로젝트 폴더에서 터미널을 열고 다음 명령을 실행합니다:

g++ main.cpp -o main
./main

이 명령은 main.cpp 파일을 컴파일하고 동일한 디렉토리에 main이라는 실행 파일을 출력합니다. 두 번째 명령은 main 파일을 실행하고 결과를 터미널에 출력합니다.

요약

이 랩에서는 C++ 에서 문자열 객체와 C 스타일 문자열을 사용하여 문자열을 복사하는 방법을 논의했습니다. 문자열 객체의 경우 할당 연산자를 사용할 수 있으며, C 스타일 문자열의 경우 cstringstrcpy() 함수를 사용할 수 있다는 것을 배웠습니다. 이러한 간단한 단계를 따르면 C++ 에서 문자열을 쉽게 복사할 수 있습니다.