본문 바로가기
C++

[C++] string 클래스를 공부하자 (문자열 insert, append)

by 여름코딩 2025. 1. 1.
반응형

오늘은 C++의 string 클래스에 대해서 공부해 보자.

우리는 보통 char형을 통해서 문자 데이터를 저장한다.

문자를 여러 개 저장하고 싶을 때는 배열을 생성하거나 포인터를 활용하는데, 오늘은 더 간단하게 데이터를 저장할 수 있는 string 클래스에 대해서 알아보자.



string 클래스

string 클래스는 아래와 같이 헤더 파일을 추가한 뒤 활용할 수 있다.

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str;
}

 

헤더 파일로 <string>을 추가하고, 변수 선언은 string 변수명 형태로 하면 된다.

그럼 이번에는 데이터를 저장하여 초기화하는 방법을 알아보자.

string str = "Hello";

 

str에 "Hello"를 저장함으로써 초기화시킬 수 있다.

char형의 경우 배열로 생성해서 "Hello"를 저장할 수 있는데, string의 경우 한 번에 문자열을 저장할 수 있다.

마치 char형이 여러 개 모인 배열 같은 형태인 것이다.

cout << str[0] << endl;
cout << str[1] << endl;
cout << str[2] << endl;
cout << str[3] << endl;
cout << str[4] << endl;
H
e
l
l
o

 

str의 각 요소를 순서대로 출력해보면 위와 같이 나타난다.

각 요소는 char 형이다.

그러므로 string은 char 형의 모임이라고 볼 수 있다.

 

string 삽입하기 insert

 

문자열에 데이터를 삽입하는 방법을 알아보자.

str.insert(인덱스, "문자열");

 

insert 함수를 활용해서 데이터를 삽입한다.

원하는 위치의 인덱스를 작성하고 큰 따옴표 내에 삽입 할 문자열을 작성한다.

string str = "Hello";
str.insert(0, "Hi, ");
Hi, Hello

 

str의 0번째 인덱스에 "Hi, "를 삽입했다.

그 결과 Hi, Hello라는 결과가 출력된다.

 

string append

 

문자열에 데이터를 이어 붙이는 것이다.

string str1 = "H";
string str2 = "i";

cout << str1.append(str2);
Hi

 

str1에 "H"를 저장하고, str2에 "i"를 저장한 후 str1에 str2를 이어 붙이는 코드이다.

append 함수를 활용해서 수행할 수 있는 것이다.

실행 결과 Hi가 출력된다.

똑같은 결과를 '+' 기호로도 표현할 수 있다.

string str1 = "H";
string str2 = "i";

cout << str1+str2;

 

str1과 str2를 '+' 기호로 이어 붙일 수 있다.

결과는 위의 코드와 동일하게 나타난다.


오늘은 string 클래스에 대해서 공부했다.

string 클래스를 활용하기 위한 헤더 파일과 여러 가지 함수에 대한 이해를 하면서 코드를 작성해 보면 좋겠다.

특히 string 클래스의 각 구성 요소는 char형 데이터로 되어 있다는 점과, 인덱스를 통해 각 구성 요소를 출력할 수 있다는 점을 활용해서 코드 작성 연습을 하면 좋겠다.

반응형