본문 바로가기
C++ Practice

String Library

by Srff5123 2024. 11. 4.
728x90

문자열을 다루기 위한 클래스로, 동적 크기를 가지며 문자열 조작에 다양한 기능을 제공한다.

 

1. 특징

- 동적 크기 : 문자열의 길이에 따라 자동으로 크기가조정된다.

- 객체 지향 : 문자열을 객체로 다루어 관련 메서드와 연산을 편리하게 사용할 수 있다.

- 다양한 멤버 함수 : 문자열을 검색, 조작, 비교하는 다양한 함수가 내장되어있어 유용하다.

 

활용 예시

 

선언

std::string str = "Hello world";

std::string str1 = "Hello world";

 

 

문자열 덧셈 

string result = str + str1;

 

 

크기 및 길이

size() / length() - 문자열의 길이를 반환

str.size(),         str.length()

 

 

부분 문자열 추출

substr() - 지정된 위치에서 지정된 길이만큼의 부분 문자열을 반환

str.substr(지정된위치, 지정된길이)

 

 

문자열 검색

find() - 특정 문자열이나 문자의 첫 번째 발생 위치를 찾음

str.find("찾을 문자")

 

 

문자열 삽입 및 삭제

insert() - 지정된 위치에 문자열을 삽입

str.insert(삽입할 위치, "삽입할 문자")

 

erase() - 지정된 위치의 문자 또는 문자 범위를 삭제

str.erase(지정된 위치, 범위)

 

 

문자열 치환

replace() - 지정된 범위의 문자를 다른 문자열로 교체

str.replace(지정된 위치, 범위, "교체할 문자열")

 

 

반복자

string은 STL의 반복자를 지원하기에 문자열을 순회할 수 있다.

 

for(string::iterator it = str.begin(); it != str.end(); ++it)

{

    cout << *it << " ";

}

 

 

문자열 역순 출력

reverse() - 지정된 위치부터 범위를 역순으로 한다.

reverse(str.begin(), str.end());

 

 

문자열 정렬

sort(정렬 시작 위치, 끝 위치, 방법(생략가능)) - 문자열을 알파벳 순서 정렬한다.

sort(str.begin(), str.end());

 

 

문자열 지우기

clear() - size와 length는 모두 0이되고  capacity만 유지

str.clear()

 

 

문자열 바꾸기

swap(바꿀 문자 1, 2)

swap(str, str1);

 

 

문자열 숫자로 바꾸기

stoi() - 문자열을 숫자로 바꾼다. 

stoi(str)

 

 

문자의 대소문자 변경

toupper(str) - 대문자 변경

tolower(str) - 소문자 변경

- 알파벳이 아닌경우 입력된 매개변수 반환

 

 

728x90