원본을 그대로 두고 정보만 얻기
text.length(); text.empty();
문자열 길이와 비어 있는지 확인하지만
text의 내용은
바뀌지 않습니다.
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);
부분 문자열이나 검색 위치는 반환값을 변수에 담아야 다음 코드에서 쓸 수 있습니다.
find("C++")는
시작 위치를 돌려줍니다.
substr(pos, 3)은
새 문자열 "C++"를
만듭니다.
replace는 원본
문자열의 일부를 직접 바꿉니다.
clear() 뒤에는
empty()가
true입니다.
find
찾지 못하면
std::string::npos가
오므로 조건문으로 확인합니다.
substr
원본을 자르는 것이 아니라 부분 문자열 객체를 새로 반환합니다.
insert
지정 위치에 문자를 끼워 넣고 기존 문자열 길이가 늘어납니다.
erase
지정 범위의 문자를 제거하고 남은 문자를 앞으로 당깁니다.