<string> STL 정리
- vector와 매우 유사하다.
- C언어의 char*, char[] 문자열과 달리, 문자열끝에 '\0' 없다.
- +로 string끼리 합칠 수 있다.
- string의 원소 하나하나는 char이다.
str[i] : str의 i번째 원소를 참조
str.push_back(x) : str의 끝에 x를 추가
str.insert(p,x) : str의 p번째 위치에 x를 삽입
str.pop_back() : 마지막 원소를 삭제//반환값 없다!!
str.erase(p) : str의 p(주소)위치 원소를 삭제
str.erase(b,e) : str의 [b,e)구간 원소를 삭제
str.front() : 문자열의 첫번째 원소 반환
str.back() : 문자열의 마지막 원소 반환
str.begin() : 문자열의 첫번째 원소를 가리키는 iterator
str.end(): 문자열의 마지막 원소 다음을 가리키는 iterator (마지막 원소 아님!!)
str.size() 또는 str.length() : 문자열의 길이
str.empty() : str이 비어있으면(size,length가 0) true반환
str.substr(index,len): str의 index부터 len길이만큼 반환한다. len전달안하면 끝까지 반환//실수전달하면 내림한다
str.replace(index,len,str2): str의 index부터 len길이만큼을 str2로 대체한다.
str.compare(str2) : 두 문자열이 같으면 0반환
str.find(str2) : str에 str2가 존재한다면 존재하는 부분의 첫번째 인덱스를 반환, 없으면 string::npos반환
string str = to_string(n); // int, float, double을 string으로 변환
sort(str.begin(), str.end(), greater<char>()); // string안에서 대소비교해서 정렬한다.
stoi(str); //string to int
stod(str); //string to double
stoll(str); // string to long long
cf. 파이썬은 문자열 전체에 대해서 check할 수 있지만 C++은 문자하나씩 check해야 한다.
isdigit(str[i]) : 숫자이면 true반환
isalpha(str[i]) : 알파벳이면 true반환
isalnum(str[i]) : 숫자 또는 알파벳이면 true반환
isspace(str[i]) : 공백이면 true반환
str[i] = toupper(str[i])// 대문자로 변경
str[i] = tolower(str[i])// 소문자로 변경
참고: blockdmask.tistory.com/338
[C++] string 클래스, 문자열에 대해서 (총정리)
안녕하세요 BlockDMask 입니다. 오늘은 C++의 std::string 클래스(문자열)에 대해서 세세 하게 알아볼것 입니다. 예전 글을 보다가 제가 작성한 이 문서를 보게 되었는데요, 너무 내용이 빈약하다고
blockdmask.tistory.com
C++ 레퍼런스 - string 라이브러리
modoocode.com