728x90
반응형
SMALL
C++ STL중 하나인 String 사용법에 대한 정리(+예제)
String
C++ 표준 라이브러리(Standard Template Library)로 string(문자열)을 다루는 클래스
- C언어의 char*, char[] 처럼 문자열 끝에 '\0' 이 없음
- 문자열 길이 동적으로 변경 가능
String 선언
#include <string>
string s; // 빈 문자열 s 생성
string s = "hello"; // hello로 초기화된 s 생성
String 멤버함수
- 원소 접근
s[i]; // s의 i번째 원소 참조
s.at[i]; // s의 i번째 원소 참조 (유효 범휘 체크 O)
s.front(); // s의 첫번째 원소 참조
s.back(); // s의 마지막 원소 참조
- 삽입/삭제
string s
// s.push_back(데이터) -> 맨 끝 문자 삽입
s.push_back('a');
s.push_back('b');
// s.pop_back() -> 맨 끝 문자 삭제
s.pop_back();
s.append(str); // s 뒤에 str append
//s.append(str, n, m) // s 뒤에 str의 n번째 부터 m개의 문자 까지 append
s.append("abcde", 1, 3); // s 뒤에 bcd append
s.replace(n, k, str) // n번째 index부터 k개의 문자를 str로 대체
// s.insert(위치, 데이터) -> 원하는 위치에 데이터 삽입
s.insert(n, str); //n번째 index 앞에 str 문자열 삽입
s.erase(n, m); // n번째 index부터 m개의 문자를 지움
s.clear(); // 문자열 모두 제거
- 크기
s.length(); // 문자열의 길이 반환
s.size(); // 문자열의 길이 반환
s.capacity(); // 문자열이 사용중인 메모리 크기 반환
- 기타 함수
s.find(str); // str이 s에 포함되어있는지 찾고, 해당 index 반환
s.find(str, n); // n번째 index부터 str 찾기
s.substr(n); // s의 n번째 index부터 끝까지를 부분문자열로 반환
s.substr(n, k); // s의 n번째 index부터 k개의 문자를 부분문자열로 반환
s.compare(str); // s와 str이 같은지 비교하여 같으면 0, s <str2 이면 -1 , s > str 이면 -1 반환
swap(s, str); // s와 str swap
toupper(c) c 문자를 대문자로 변환
tolower(c) c 문자를 소문자로 변환
728x90
반응형
LIST
'Language > C++' 카테고리의 다른 글
[C++] 클래스(Class) (0) | 2023.09.17 |
---|---|
[C++] 띄어쓰기 포함 문자열 입력 (0) | 2023.09.12 |
[C++] 연산자 오버로딩(Operator Overloading) (0) | 2023.07.17 |
[C++] STL Pair 사용법 및 예제 (0) | 2023.07.10 |
[C++] STL Vector 사용법 및 예제 (0) | 2023.07.10 |