개요
C++에서 사용되는 string 클래스를 정리한다
목록
length() : 문자열의 길이를 반환한다.
size() : 해당 string 객체가 메모리에서 실제 사용하고 있는 크기를 나타낸다.
length()와 size()는 언제나 같은 값을 반환하지만, 그 의미에는 차이가 있다.
append() : 문자열 끝에 다른 문자열을 추가한다.
문자열1.append(문자열2) : 문자열1의 끝에 문자열2를 추가한다.
문자열1.append(문자열2, 문자열2의 시작 위치, 개수) : 문자열1의 끝에 문자열2의 시작 위치부터 해당 개수만큼 문자열을 추가한다.
문자열.append(개수, 추가할문자) : 추가할 문자를 개수만큼 끝에 추가한다.
find() : 특정 문자열을 찾아, 그 시작 위치를 반환한다.
문자열이 여러 개 있다면, 그 중 제일 첫번째 문자열의 위치를 반환한다.
문자열을 찾지 못한다면, string::size_type의 string::npos라는 상수를 반환한다.
compare() : 문자열을 비교한다.
문자열1.compare(문자열2) == 0 : 문자열1과 문자열 2가 같은 경우
문자열1.compare(문자열2) < 0 : 문자열1이 문자열 2보다 사전순으로 앞에 있는 경우
문자열1.compare(문자열2) > 0 문자열2가 문자열 1보다 사전순으로 앞에 있는 경우
replace() : 문자열을 다른 문자열로 대체한다.
문자열1.replace(대체할 문자열의 시작 위치, 대체할 문자열의 길이, 새로운 문자열)
replace()를 사용하기 전에 find()로 문자열이 존재하는지를 확인하는 것이 좋다.
참고
http://www.tcpschool.com/cpp/cpp_string_stringMethod
https://blockdmask.tistory.com/338
'언어 > C++' 카테고리의 다른 글
[C++] shared_ptr 직접 구현해보기 (0) | 2021.12.16 |
---|---|
[C++] 스마트 포인터 (0) | 2021.12.15 |
이항 '<': 'const_Ty'이(가) 이 연산자를 정의하지 않거나 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다. (0) | 2021.12.02 |
sstream을 사용하여 문자열 split 하기 (C++) (0) | 2021.11.21 |
[C++] 부동 소수점 (0) | 2021.11.12 |