string str1 = "MyName";
string str2 = "SuperRunner";
- at(index) : 해당 위치 문자를 반환
- operator[index] : 배열처럼 접근, 해당 문자를 반환, 1번 보다 빠르다.
- front() : 맨 앞 인자 반환 str1 .front() -> M을 반환
- back() : 맨 뒤 인자 반환 str1 .back() -> M을 반환
- size() : string 사이즈를 반환 str1.size() -> 6
- length() : string 길이를 반환 5 번과 같다.
- capacity() : 할당된 메모리 크기를 반환. vector의 capacity와 마찬가지로 메모리할당을 여유롭게 한다.
- resize()
함수 원형 : void resize (size_t n);
함수 원형 : void resize (size_t n, char c);
함수 설명 : string을 n만큼의 크기로 만듭니다. 만약 그 크기가 원래 사이즈 보다 작다면, 남은 스트링을 버립니다. 만약 그 크기가 원래 사이즈 보다 크다면, 빈 공간으로 남은 공간을 채웁니다. 만약 c를 사용한다면 남은 공간을 c로 채운다.
함수 예시 : str1.resize(5) // "BlockDMask" -> "Block" 이 됩니다. size는 5입니다.
함수 예시 : str1.resize(6) // "Block" -> "Block " 가 됩니다. 빈칸이 있습니다. size는 6이 되었습니다.
함수 예시 : str1.resize(10, 'a') // "Block " -> "Block aaaa"
- shrink_to_fit() : 스트링 길이에 비해 낭비되고있는 메모리를 줄여준다.
- reserve() : 미리 할당하는 함수
- clear() : 문자열을 지운다.
- empty() : 비어있는지 확인
- c_str() : 원시문자로 자료형 변경
- substr() : index 에서부터 len만큼 잘라서 반환
- replace() : 문자열의 index위치에서 len 길이까지의 범위를 매개변수로 들어온 str 전체로 대체 하는 함수
- compare() : str을 비교해서 같으면 0을 반환하고, 다르면 0이 아닌 값을 반환하는 함수
- copy() : 복사
- find() : 매개변수로 들어온 문자열과, 내 문자열중에 일치하는 게 있는지 확인하는 함수입니다. 만약에 일치하는게 있다면, 일치하는 부분의 첫번째 순서(index)를 반환합니다. 두번째 매개변수로 들어온 index는 어느 위치에서 부터 찾을까 입니다
- push_back() : 맨뒤에 문자 c를 더하는 함수
- pop_back() : 스트링의 맨뒤에 있는 문자 하나를 없애는 함수
- begin() : 문자열의 첫 번째 문자를 가리키는 반복자(iterator 포인터)를 반환
- end() : 문자열의 마지막의 바로 다음을 가리키는 반복자(iterator 포인터)를 반환
- swap() : str1과 str2를 바꾸는 것
string str = "B123456DMask";
- isdigit(str[0]) => 'B' => 0이 나옴
- isdigit(str[1]) => '1' => 0이 아닌 수가 나옴
- isdigit(str[2]) => '2' => 0이 아닌 수가 나옴
- isdigit(str[3]) => '3' => 0이 아닌 수가 나옴
- isdigit(str[4]) => '4' => 0이 아닌 수가 나옴
- isdigit(str[5]) => '5' => 0이 아닌 수가 나옴
- isdigit(str[6]) => '6' => 0이 아닌 수가 나옴
- isdigit(str[7]) => 'D' => 0이 나옴
- isdigit(str[8]) => 'M' => 0이 나옴
- isdigit(str[9]) => 'a' => 0이 나옴
- isdigit(str[10]) => 's' => 0이 나옴
- isdigit(str[11]) => 'k' => 0이 나옴
https://blockdmask.tistory.com/338
[C++] string 클래스, 문자열에 대해서 (총정리)
안녕하세요 BlockDMask 입니다.오늘은 C++의 std::string 클래스(문자열)에 대해서 세세 하게 알아볼것 입니다.예전 글을 보다가 제가 작성한 이 문서를 보게 되었는데요, 너무 내용이 빈약하다고 생
blockdmask.tistory.com
'프로그래밍 > C++' 카테고리의 다른 글
[C++] 람다식 (0) | 2021.12.22 |
---|---|
[c++]이중포인터 (0) | 2021.10.04 |
[c++] 구조체, 구조체 배열, 구조체 포인터, 패딩바이트, typedef (0) | 2021.09.30 |
[C++] 2차원 배열, 배열 포인터, 배열 초기화, 배열 매개변수 (0) | 2021.09.24 |
[C++] 1차원 배열, 배열 포인터, 배열 초기화, 배열 매개변수 (0) | 2021.09.24 |