본문 바로가기
2025 C언어 강의

C++ string 클래스를 공부하자 (length 길이 구하기, append 문자열 붙이기)

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

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

문자를 다루기 위해서는 char라는 데이터 타입을 활용했는데, 오늘은 string 클래스를 활용해 편리하게 활용하는 방법을 알아보자.

string 클래스 학습은 C++의 여러 가지 STL을 다루기 위한 것이기 이번 기회에 기초를 단단히 다져두자.



string 클래스란?

string 클래스는 '문자열'을 다루기 위한 클래스다.

char형은 문자 하나를 다루기 위한 데이터 타입이라면, string 클래스는 문자 여러개가 이어진 문자열을 다루기 위한 것이다.

여러 가지 함수를 활용해 문자열을 분리하거나 덧붙이는 등의 기능도 활용할 수 있다.

헤더파일 <string>을 추가해야 사용할 수 있다는 점도 char형과의 차이점이다.

 

string 클래스 구현하기

string 헤더파일을 추가하고 코드 구현을 해보자.

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str;
    str = "ABCDE";
    
    cout << str << endl;
}

 

string 클래스의 헤더파일 <string>을 추가하고 string str;을 생성했다.

str은 string형 변수로 문자열을 한 번에 저장할 수 있다.

char형 변수에는 데이터 저장을 위해 'A'와 같이 작성하지만, string형 변수에는 "A"와 같이 작성하므로 차이점을 유의하자.

ABCDE

 

코드 실행 결과 "ABCDE"가 그대로 출력되었다.

만약 char형 변수였다면 'E'만 출력되었을 것이다.

그럴 경우에는 char str[10]과 같이 배열을 생성하여 문자열을 큰 따옴표 안에 작성하면 된다.

string은 이렇게 문자열을 한 번에 작성하여 저장할 수 있다는 장점이 있다.

 

string의 길이 구하기

string 클래스는 함수를 활용해 길이를 구할 수 있다.

string str;
str = "ABCDE";

cout << str.length() << endl;
5

 

"ABCDE" 다섯 개의 문자의 길이를 구하기 위해 함수 length()를 활용했다.

출력 결과 5가 나오는 것을 알 수 있다.

 

string 붙이기

string 클래스는 string을 덧붙이는 기능도 제공한다.

학생들의 점수를 string형 변수에 저장했을 때, 각 점수에 '점'이라는 글자를 붙이려고 한다.

이 때 문자열을 붙이는 함수로 간단히 처리할 수 있다.

string str1 = "90";
string str2 = "100";

cout << str1.append("점") << endl;
cout << str2.append("점") << endl;
90점
100점

 

append 함수는 문자열에 또 다른 문자열을 덧붙일 수 있다.

 

string 예제 코드 작성

string str1 = "12";
string str2 = "34";

cout << str1+str2 << endl;
1234

 

이번에는 문자열끼리 더하는 코드를 작성했다.

문자 "12"와 "34"를 붙여 "1234"로 표현한 것이다.

만약 int형 변수였따면 12와 34의 합이 구해졌겠지만, string이므로 1234가 나타난 것이다.


오늘은 string 클래스에 대해 학습했다.

char형은 한 개의 문자를 저장한다면, string형은 문자열을 손쉽게 저장할 수 있다.

string 클래스의 경우 문자열의 길이, 이어 붙이기, 합치기 등의 기능이 활용 가능하므로 각 기능을 코드로 작성하고 활용하는 연습을 해보자.

반응형