String Methods

멤버 함수 변경 기준

std::string 함수는 문자열을 직접 바꾸기도 하고, 길이·위치·부분 문자열만 반환하기도 합니다.

상태 확인 length, empty
내용 변경 append, insert, erase
결과 생성 substr, find
읽기

원본을 그대로 두고 정보만 얻기

text.length(); text.empty();

문자열 길이와 비어 있는지 확인하지만 text의 내용은 바뀌지 않습니다.

수정

현재 문자열의 내용을 바꾸기

text.replace(0, 5, "Hi");

삽입, 삭제, 교체, 추가 함수는 같은 객체의 문자 배열을 새 상태로 만듭니다.

생성

새 값이나 위치를 받아 쓰기

auto part = text.substr(14, 3);

부분 문자열이나 검색 위치는 반환값을 변수에 담아야 다음 코드에서 쓸 수 있습니다.

text = "Programming in C++"

한 문자열에서 함수 결과가 갈라지는 모습

1

검색

find("C++")는 시작 위치를 돌려줍니다.

2

추출

substr(pos, 3)은 새 문자열 "C++"를 만듭니다.

3

교체

replace는 원본 문자열의 일부를 직접 바꿉니다.

4

비우기

clear() 뒤에는 empty()true입니다.

find

찾지 못하면 std::string::npos가 오므로 조건문으로 확인합니다.

substr

원본을 자르는 것이 아니라 부분 문자열 객체를 새로 반환합니다.

insert

지정 위치에 문자를 끼워 넣고 기존 문자열 길이가 늘어납니다.

erase

지정 범위의 문자를 제거하고 남은 문자를 앞으로 당깁니다.