[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