Programming/C++

[C++] STL 문자열(string) 사용법

몽땅마니아(MDD) 2021. 12. 24. 22:43

아래 블로그를 참고해 내가 보기 쉽게 작성했다.

https://blockdmask.tistory.com/338

 

[C++] string 클래스, 문자열에 대해서 (총정리)

안녕하세요 BlockDMask 입니다.오늘은 C++의 std::string 클래스(문자열)에 대해서 세세 하게 알아볼것 입니다.예전 글을 보다가 제가 작성한 이 문서를 보게 되었는데요, 너무 내용이 빈약하다고 생

blockdmask.tistory.com

 

#include <string> 헤더 필요

 

해당 인덱스의 인자 반환(char)

문자열명[int 인덱스]

문자열명.at(int 인덱스)

at은 인덱스의 범위를 검사해 속도가 좀 더 느리지만 예외 뱉어줌

 

문자열의 맨 앞 인자 반환(char)

문자열명.front( );

 

문자열의 맨 뒤 인자 반환(char)

문자열명.back( );

 

문자열의 길이 반환(int, size_t)

문자열명.size( );

문자열명.length( );

 

문자열의 할당된 메모리 크기 반환(int, size_t)

문자열명.capacity( );

 

문자열 크기 조절(void)

문자열명.resize(size_t 크기);

 

문자열의 낭비되는 메모리 줄이기(void, C++11 이상)

문자열명.shrink_to_fit( );

 

들어올 문자열의 용량을 미리 할당(void)

문자열명.reserve(size_t 크기);

 

문자열 내용 지우기(void)

문자열명.clear( );

 

문자열 비어있는지 확인(비었으면 true, 아니면 false)

문자열명.empty( );

 

해당 인덱스부터 해당 길이만큼 잘라서 반환(string)

문자열명.substr(size_t 시작 인덱스=0, size_t 길이=npos);

(시작 인덱스의 default는 0, 길이의 default는 npos[-1])

 

문자열 비교(int, 같으면 0, 매개변수보다 사전순으로 작으면 음수, 크면 양수 반환)
문자열명.compare( );

 

문자열 내 해당 인덱스부터 일치하는 문자열이 있는지 확인(size_t, 일치하면 일치 부분의 첫 인덱스 반환)

문자열명.find(string 찾을 문자열, size_t 탐색 시작 인덱스=0);

 

문자열 맨 뒤에 해당 문자 추가(void)

문자열명.push_back(char 문자);

 

문자열 맨 뒤 문자 삭제(void)

문자열명.pop_back( );

 

해당 인덱스부터 해당 길이만큼 다른 문자열로 대체(string)

문자열명.replace(size_t 시작 인덱스, size_t 길이, string 대체 문자열);

 

string 문자열을 C의 문자열로 변환(char*, 맨 뒤에 널문자 추가)

문자열.c_str( ); 

 

문자열을 서로 참조해 교환(void)

swap(문자열명1, 문자열명2);

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

[C++] 문자열 치환 함수 regex_replace  (0) 2021.12.30
[C++] STL 맵(map) 사용법  (0) 2021.10.23
C++ STL 페어(pair) 사용법  (0) 2021.10.22
C++ STL 벡터(vector) 사용법  (0) 2021.10.22
C++ STL 덱(deque) 사용법  (0) 2021.10.22