[c++] C++에서의 문자열 특정 부분 추출하는 방법
C++에서는 문자열에서 특정 부분을 추출하고 싶을 때 일반적으로 여러 가지 방법을 사용할 수 있습니다. 여기에는 substr() 함수를 사용하는 방법과 배열과 포인터를 활용하는 방법이 포함됩니다.
substr() 함수를 사용하는 방법
substr()
함수를 사용하면 문자열의 일부분을 추출할 수 있습니다. 이 함수는 추출하려는 부분의 시작 인덱스와 길이를 인자로 전달받습니다.
예를 들어, 아래 코드는 문자열 “Hello, World!”에서 인덱스 7부터 5개의 문자를 추출하는 예시입니다.
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub = str.substr(7, 5);
std::cout << sub << std::endl; // 출력: "World"
return 0;
}
배열과 포인터를 활용하는 방법
또 다른 방법은 배열과 포인터를 활용하는 것입니다. 문자열은 문자의 배열로 표현되므로 배열을 직접 조작하여 원하는 부분을 추출할 수 있습니다.
예를 들어, 아래 코드는 동일한 문자열 “Hello, World!”에서 인덱스 7부터 5개의 문자를 추출하는 방법을 보여줍니다.
#include <iostream>
#include <cstring>
int main() {
char str[] = "Hello, World!";
char sub[6];
std::memcpy(sub, &str[7], 5);
sub[5] = '\0'; // 추출된 문자열을 NULL 종료
std::cout << sub << std::endl; // 출력: "World"
return 0;
}
C++에서 문자열의 일부를 추출하는 방법에 대해 알아보았습니다. substr()
함수를 사용하는 방법과 배열, 포인터를 활용하는 방법 중 선택할 수 있으며 각각의 상황에 따라 적합한 방법을 선택할 수 있습니다.
참고 자료: