[c++] 문자열에서 특정 길이의 부분 문자열 추출

C++에서 문자열에서 특정 길이의 부분 문자열을 추출하는 방법을 알아보겠습니다.

1. substr 함수 사용

C++의 substr 함수를 사용하여 문자열에서 특정 길이의 부분 문자열을 추출할 수 있습니다.

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";
    int start_pos = 7;
    int length = 5;
    std::string sub = str.substr(start_pos, length);
    std::cout << sub << std::endl;  // Output: World
    return 0;
}

위 예제에서 substr 함수는 두 개의 매개변수를 갖습니다. 첫 번째 매개변수는 시작 위치를 나타내고, 두 번째 매개변수는 추출할 문자열의 길이를 나타냅니다.

2. string_view 사용

C++17부터는 string_view를 사용하여 문자열의 일부분을 가리키는데 사용할 수 있습니다.

#include <iostream>
#include <string_view>

int main() {
    std::string_view str = "Hello, World!"sv;
    int start_pos = 7;
    int length = 5;
    std::string_view sub = str.substr(start_pos, length);
    std::cout << sub << std::endl;  // Output: World
    return 0;
}

결론

위의 두 가지 방법을 사용하여 C++에서 문자열에서 특정 길이의 부분 문자열을 추출할 수 있습니다. substr 함수는 이전 버전의 C++에서 사용할 수 있고, C++17부터는 string_view를 사용하여 더 효율적으로 부분 문자열을 처리할 수 있습니다.

참조: https://en.cppreference.com/w/cpp/string/basic_string/substr, https://en.cppreference.com/w/cpp/string/basic_string_view/substr