[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() 함수를 사용하는 방법과 배열, 포인터를 활용하는 방법 중 선택할 수 있으며 각각의 상황에 따라 적합한 방법을 선택할 수 있습니다.

참고 자료: