substr() 함수는 C++의 std::string 클래스에서 제공하는 멤버 함수로, 문자열의 특정 부분을 추출하는 데 사용된다.
pos : 시작 위치 (기본값은 0). 추출할 부분 문자열의 시작 인덱스len : 길이 (기본값은 npos). 추출할 부분 문자열의 길이. npos는 문자열의 끝까지 추출함을 의미한다.pos가 문자열 길이보다 클 경우, std::out_of_range 예외가 발생한다.기본 사용법
int main() {
std::string str = "Hello, World!";
std::string result = str.substr(7, 5); // "World" 추출
std::cout << "부분 문자열: " << result << "\n";
return 0;
}
출력
부분 문자열: World
매개변수 len을 생략한 경우
len을 생략하면, 지정한 시작 위치부터 문자열 끝까지 추출한다.
int main() {
std::string str = "Hello, World!";
std::string result = str.substr(7); // "World!" 추출
std::cout << "부분 문자열: " << result << "\n";
return 0;
}
출력
부분 문자열: World!
범위 초과 방지
substr()는 pos와 len에 따라 추출 범위를 자동으로 제한한다.len이 문자열 끝을 초과하더라도 예외 없이 문자열 끝까지 추출한다.std::string str = "Hello";
std::string result = str.substr(2, 10); // "llo" 반환
시간복잡도
O(n)으로, n은 추출되는 문자열의 길이다.원본 문자열 수정 없음
substr()는 원본 문자열을 수정하지 않고 새 문자열을 반환한다.