코드 | 내용 |
---|---|
string str; | 빈 문자열 str 생성 |
string str = "abc" | "abc"로 선언된 str 생성 |
string str2(str1) | str1 string을 복사한 str2 생성 |
string *str = new string("abc") | new 이용 동적 할당 |
1) 문자열 연결 (+) : 두 문자열을 이어준다.
ex.
string str1 = "abc";
string str2 = "def";
string str3 = str1 + str2;
cout << str3;
출력 결과 : "abcdef"
2) 문자열 비교 (<, >, ==) : 두 문자열의 사전 상 순서를 비교하거나, 동일 여부 파악 가능
string str1 = "abc";
string str2 = "bcd";
string str3 = "abc";
cout << (str1 > str2) << " "; // 사전 순서가 더 느린 것이 더 큰 것
cout << (str1 < str2) << " ";
cout << (str1 == str3) << " ";
출력 결과 : 0 1 1
1) 특정 원소 접근
코드 | 내용 |
---|---|
str.at(index) | index 위치 문자 반환. 유효 범위 체크 O (유효 범위 아니면 정지) |
str[index] | index 위치 문자 반환. 유효 범위 체크 X |
str.front() | 문자열 가장 앞 문자 반환 |
str.back() | 문자열 가장 뒤 문자 반환 |
2) 크기 확인
코드 | 내용 |
---|---|
str.length() | 문자열 길이 반환 |
str.size() | 문자열 길이 반환 |
str.capacity() | 문자열이 사용 중인 메모리 크기 반환 |
str.reserve(n) | size == n 만큼의 메모리를 미리 할당 |
str.shrink_to_fit() | 문자열이 실제 사용 메모리보다 큰 메모리를 잡고 있으면 메모리를 줄여줌. |
str.resize(n) | 문자열의 크기를 n으로 만듦. 기존 문자열보다 n이 크면 빈 공간으로 채우고, n이 더 작으면 뒷 부분 삭제 |
str.resize(n, 'a') | 위와 같지만 n이 더 큰 경우에 'a'로 채움. |
str.empty() | 빈 문자열인지 확인 |
3) 삽입, 추가, 삭제
코드 | 내용 |
---|---|
str.insert(n, str2) | str의 n번째 인덱스 뒤에 str2 삽입 |
str.replace(n, k, str2) | n번째 인덱스부터 k개의 문자를 str2로 대체 |
str.replace(str.begin()+n, str.begin()+m, str2) | n번째 인덱스부터 m번째 인덱스 직전까지의 문자열을 str2로 대체 |
str.append(str2) | str 뒤에 str2 이어 붙여줌. |
str.append(str2, n, m) | str2의 n번째 인덱스부터 m개의 문자를 이어 붙여줌. |
str.append(n, 'a') | str 뒤에 n개의 'a'를 이어 붙여줌. |
str.erase(n, m) | n번째 인덱스부터 m개의 문자를 지움. |
str.erase() | 문자열을 전부 지움 |
str.clear() | 문자열을 전부 지움 |
str.push_back(a) | str 맨 뒤에 문자 a를 붙여줌 |
str.pop_back() | str 맨 뒤의 문자를 제거 |
str.assign(str2) | str에 str2를 할당 |
4) 기타 함수들
코드 | 내용 |
---|---|
str.find("abc") | "abc"가 문자열에 포함되어 있는지 확인하고, 있으면 첫번째 인덱스 반환 |
str.substr() | 문자열 전체 반환 |
str.substr(n) | n번째 인덱스부터 끝까지 문자열 반환 |
str.substr(n, k) | n번째 인덱스부터 k개의 문자를 문자열로 반환 |
str.compare(str2) | str과 str2가 같은지 비교. 같으면 0, str < str2이면 음수, 반대면 양수 반환 |
swap(str1, str2) | str1과 str2의 내용을 바꿔줌. |
5) char에 적용하는 함수들
코드 | 내용 |
---|---|
isdigit(a) | a 문자가 숫자이면 true, 아니면 false 반환 |
isalpha(a) | a 문자가 영어이면 true, 아니면 false 반환 |
toupper(a) | a 문자를 대문자로 반환 |
tolower(a) | a 문자를 소문자로 반환 |