basic_string substr(size_type pos = 0, size_type count = npos) const;

 

문자열의 일부를 리턴한다.

문자열의 pos 번째 문자 부터 count ( len ) 길이 만큼의 문자열을 리턴한다.

 

한마디로 시작 ( pos ) 부터 몇개 ( count ) 추출할건가~~ 이다.

 

만일, 인자로 전달된 부분 문자열 ( [ pos ] ~ [ pos + count ] ) 의 길이가 전체 문자열 보다 길다면, 문자열의 끝 까지만 잘라 리턴한다.

또한, count 에 아무런 인자도 주지 않는다면 default 인 npos 를 넘겨준다.  pos 부터 원래 문자열의 끝 까지 리턴한다.

 

만일 

- pos 가 원래 문자열의 길이보다 길다면 std::out_of_range run-time 에러를 발생시킨다.

 

- pos 가 음수라면 run-time 에러를 발생 시킨다.

 

 


[ 예시 ]

 

string str1 = "Hi there. this is Mr.kim";
string str2, str3, str4;

str2 = str1.substr(3,5);  // 3번째 부터 5개 추출.
str3 = str1.substr(9);    // 9번째 부터 전체 추출. ( 공백도 카운트 포함 )
str4 = str1.substr(str1.find("is"));  // 첫번째 'is' 부터 전체 추출.

cout << str2 << endl;
cout << str3 << endl;
cout << str4 << endl;

 

[ 출력 ]

 

there
 this is Mr.kim
is is Mr.kim

 

'Language & etc > Reference' 카테고리의 다른 글

assert 함수  (0) 2022.04.17
string 의 erase  (0) 2021.11.26
std :: istringstream 에 대해서  (0) 2021.11.15

+ Recent posts