프로그래밍/C++

[C++]String 클래스 멤버함수 간단 요약

FORHAPPy 2022. 1. 5. 20:14

 


더보기

string str1 = "MyName"; 

string str2 = "SuperRunner"; 

    1. at(index)                   : 해당 위치 문자를 반환
    2. operator[index]          : 배열처럼 접근, 해당 문자를 반환, 1번 보다 빠르다.
    3. front()                      : 맨 앞 인자 반환 str1 .front() -> M을 반환
    4. back()                       : 맨 뒤 인자 반환 str1 .back() -> M을 반환
    5. size()                         : string 사이즈를 반환 str1.size() -> 6
    6. length()                      : string 길이를 반환 5 번과 같다.
    7. capacity()                    : 할당된 메모리 크기를 반환.  vector의 capacity와 마찬가지로 메모리할당을 여유롭게 한다.
    8. 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" 

 

  1. shrink_to_fit()  : 스트링 길이에 비해 낭비되고있는 메모리를 줄여준다.
  2.  reserve() : 미리 할당하는 함수
  3. clear() : 문자열을 지운다.
  4. empty() : 비어있는지 확인
  5. c_str()  : 원시문자로 자료형 변경
  6.  substr() : index 에서부터 len만큼 잘라서 반환
  7. replace() : 문자열의 index위치에서 len 길이까지의 범위를 매개변수로 들어온 str 전체로 대체 하는 함수
  8. compare() : str을 비교해서 같으면 0을 반환하고, 다르면 0이 아닌 값을 반환하는 함수
  9. copy() : 복사
  10. find() : 매개변수로 들어온 문자열과, 내 문자열중에 일치하는 게 있는지 확인하는 함수입니다.  만약에 일치하는게 있다면, 일치하는 부분의 첫번째 순서(index)를 반환합니다.  두번째 매개변수로 들어온 index는 어느 위치에서 부터 찾을까 입니다

  11. push_back() : 맨뒤에 문자 c를 더하는 함수
  12. pop_back() : 스트링의 맨뒤에 있는 문자 하나를 없애는 함수
  13. begin() : 문자열의 첫 번째 문자를 가리키는 반복자(iterator 포인터)를 반환
  14. end() : 문자열의 마지막의 바로 다음을 가리키는 반복자(iterator 포인터)를 반환
  15. 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