본문 바로가기

기본문법

19. 문자열을 다루는 법

C++에서 문자열은 char형 배열로 표현됩니다. 하지만 문자열을 표현하는 데에는 문자열을 다루기 위한 특별한 함수들이 제공됩니다. 이제 문자열을 만들고, 출력하고, 복사하고, 비교하고, 연결하는 등의 작업을 수행하는 방법에 대해 알아보겠습니다.

문자열 만들기
C++에서 문자열을 만들 때는 크게 두 가지 방법이 있습니다. 하나는 char 배열을 이용하는 것이고, 다른 하나는 string 객체를 이용하는 것입니다.

char 배열을 이용한 문자열 생성 예시입니다.

char str1[] = "Hello";
char str2[] = {'W', 'o', 'r', 'l', 'd', '\0'};

string 객체를 이용한 문자열 생성 예시입니다.

string str3 = "Hello";
string str4("World");


문자열 출력
C++에서 문자열을 출력할 때는 cout을 이용합니다.

 

cout << "Hello, World!" << endl;



위 코드에서 endl은 end of line을 의미하며, 새로운 줄로 이동하는 역할을 합니다.

문자열 복사
C++에서 문자열을 복사할 때는 strcpy() 함수를 이용합니다. 이 함수는 문자열을 복사할 때 널 문자('\0')까지 복사합니다.

char str1[10] = "Hello";
char str2[10];

strcpy(str2, str1);

cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;



위 코드에서 str1을 str2에 복사하였습니다.

문자열 비교
C++에서 문자열을 비교할 때는 strcmp() 함수를 이용합니다. 이 함수는 두 문자열을 비교하여 같으면 0, 다르면 0이 아닌 값을 반환합니다.

char str1[] = "Hello";
char str2[] = "World";

if (strcmp(str1, str2) == 0) {
    cout << "두 문자열이 같습니다." << endl;
} else {
    cout << "두 문자열이 다릅니다." << endl;
}


위 코드에서 str1과 str2를 비교하였습니다.

문자열 연결
C++에서 문자열을 연결할 때는 strcat() 함수를 이용합니다. 이 함수는 두 번째 문자열을 첫 번째 문자열 뒤에 이어붙입니다.

char str1[10] = "Hello";
char str2[10] = "World";

strcat(str1, str2);

cout << "str1: " << str1 << endl;


위 코드에서 str1 뒤에 str2를 이어붙였습니다.

이상으로 C++에서 문자열을 다루는 방법에 대해 간략하게 소개해 드렸습니다.