문자열을 다루기 위한 클래스로, 동적 크기를 가지며 문자열 조작에 다양한 기능을 제공한다.
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) - 소문자 변경
- 알파벳이 아닌경우 입력된 매개변수 반환
'C++ Practice' 카테고리의 다른 글
Study C++ Developer RoadMap (1) (0) | 2025.02.12 |
---|---|
Set Library C++ (3) | 2024.11.12 |
Bitset Library (0) | 2024.11.02 |
C++ 디자인 패턴 - 상태 패턴(State Pattern) (0) | 2024.08.09 |
C++ 디자인 패턴 - 행동 패턴 - 템플릿 메서드 패턴 (Template Method Pattern) (0) | 2024.07.31 |