C++ STL/Part 02 STL 이해
12장. string 컨테이너
by 노오오오오옹
2021. 6. 22.
1. string의 주요 인터페이스와 특징
시퀀스 컨테이너이며 배열 기반의 컨테이너(vector와 비슷)이다.
- string : char 형식의 문자를 관리하는 basic_string<char> 형식
- wstring : 유니코드 문자를 관리하기 위한 basic_string<wchar_t> 형식
생성자 |
설명 |
string s |
기본 생성자로 s 생성 |
string s(sz) |
sz 문자열로 s 생성 |
string s(sz, n) |
sz 문자열에서 n개의 문자로 s 생성 |
string s(n, c) |
n개의 c문자로 s 생성 |
string s(b, e) |
[b, e) 문자로 s 생성 |
string s(p1, p2) |
포인터 구간 [p1, p2)로 s 생성 |
멤버함수 |
설명 |
s.append(sz) |
s에 sz를 이어 붙인다 |
s.assign(sz) |
s에 asz 문자열을 할당한다 |
s.at(i) |
s의 i번째 문자를 참조 |
s.c_str() |
C 스타일의 문자열의 주소 변환 |
n = s.capacity() |
n은 s의 할당된 메모리 크기 |
s.clear() |
s를 비움 |
s.compare(s2) |
s와 s2를 비교함 |
s.copy(buf, n) |
buf로 n개의 문자를 복사 |
s.data() |
문자열의 배열의 주소를 반환 |
s.empty() |
s가 비었는가? |
s.find(c) |
c 문자를 검색한다. |
s.rfind(c) |
c 문자를 검색하는데, 끝부터 찾는다. |
s.insert(n, sz) |
n의 위치에 sz를 삽입한다. |
s.length() |
s는 문자의 개수 |
n = s.max_size() |
n은 s의 최대 문자의 개수 |
s.push_back(c) |
s의 끝에 c를 추가 |
s.replace(pos, n, sz) |
pos위치의 n개의 문자를 sz로 바꿈 |
s.reserve(n) |
n개의 문자를 저장할 수 있는 공간을 예약한다 |
s.resize(n) |
s의 크기를 n으로 변경한다. 확장되는 곳은 기본값으로 초기화한다. |
s.resize(n, c) |
s의 크기를 n으로 변경한다. 확장되는 곳은 c로 초기화한다. |
s.size() |
s 원소의 개수 |
s2 = s.substr(pos) |
s2는 pos부터의 s 문자열 |
s.swap(s2) |
s와 s2를 스왑 |
반복자 |
설명 |
p = s.begin() |
p는 s의 첫 문자를 가리키는 반복자 |
p = s.end() |
p는 s의 끝을 가리키는 반복자 |
p = s.rbegin() |
p는 s의 역 순차열의 첫 원소를 가리키낟. |
p = s.rend() |
p는 s의 역 순차열의 마지막 원소를 가리킨다. |
q = s.erase(p) |
p가 가리키는 문자를 제거한다. q는 p 다음 문자를 가리킨다. |
q = s.erase(b,e) |
[b,e)의 문자를 제거한다. |
연산자 |
|
s[i] |
i번재 위치의 문자 |
s += s2 |
s와 s2의 합을 s에 할당한다 |
s + s2 |
s와 s2를 합한 새로운 string 객체 |
s = s2 |
s에 s2를 할당 |
out << s |
s를 스트림에 쓴다 |
in >> s |
스트림에서 s를 읽는다 |
getline(in,s) |
스트림에서 s로 한줄을 읽는다. |
그외 |
==, !=, <, >, <=, >= |
2. string의 주요 멤버 함수 정리
댓글