string 클래스

string 생성

string str; string

str = "abcdef";

string str("abcedf");

string *str = new string("abcdef");

string str1(str2);

string 연산

string 객체 간에 >, <, ==, + 연산자를 사용할 수 있다.

>, < 는 사전 순 비교, ==는 동일 여부 확인

+는 문자열 연결

 

string 클래스의 멤버 함수

str.at( index ) : index번째 문자 반환 (유효한 범위인지 체크)

str[ index ] : index번째 문자 반환 (유효한 범위인지 체크X, at보다 빠름)

str.front() : 가장 앞 문자 반환

str.back() : 가장 뒤 문자 반환

str.c_str() : string 문자열을 const char* 로 접근할 수 있도록 해줌 ('\0' 포함)

 

str.length() : 문자열 길이 반환

str.size() : 문자열 길이 반환

str.capacity() : 문자열이 사용중인 메모리 크기 반환

str.resize(n) : string의 길이(용량 X)를 n으로 바꿈

str.reserve(n) : n만큼의 메모리를 미리 할당해줌

str.shrink_to_fit() : capacity를 문자열 길이에 맞게 조절해줌 (정확하게 길이와 일치하지는 않음)

 

str.append(str2) : 문자열을 이어 붙임 ('+' 연산과 동일)

str.insert(n, str2) : n번째 index 앞에 str2 문자열을 삽입

str.repleace(n, k, str2) : n번째 index부터 k개의 문자를 str2로 대체함

str.clear() : 문자열 지우기 (str이 size가 0인 문자열이 됨)

str.erase(n, m) : n ~ m index의 문자열을 지움

 

str.compare(str1) : str이 str1보다 더 크면 1을 반환, 같으면 0, 작으면 -1을 반환 ( 크기 비교는 숫자 < 대문자 < 소문자 )

str.find(str1) ,str.find (c) : 문자열 내에서 문자열이나 문자를 검색해 index를 반환 ( 없으면 -1을 반환)

 

참조 : 

https://rebro.kr/53

'C++' 카테고리의 다른 글

C++ 템플릿, 함수 객체(Functor)  (0) 2022.08.25
C++ r-value 참조와 move, 이동 생성자  (0) 2022.08.25
C++ memory order, atomic객체  (0) 2022.08.24
C++ thread, mutex, condition_variable  (0) 2022.08.23
C++ STL 컨테이너 정리  (0) 2022.08.22

+ Recent posts