[c++] 문자열 처리 라이브러리 활용하기

C++은 표준 라이브러리인 <string><cstring>을 사용하여 문자열을 효율적으로 처리할 수 있습니다. 이 라이브러리들을 활용하여 문자열을 생성, 복사, 조작 및 검색하는 방법에 대해 알아보겠습니다.

1. 문자열 생성 및 초기화

C++의 <string> 라이브러리를 사용하여 문자열을 생성하고 초기화할 수 있습니다. 다음은 초기화된 문자열을 생성하는 예시입니다:

#include <string>
#include <iostream>

int main() {
    // 문자열 생성
    std::string str1 = "Hello"; // 문자열 리터럴로 초기화
    std::string str2("World"); // 생성자를 이용한 초기화

    // 이니셜라이저 리스트를 사용한 초기화
    std::string str3 {'C', '+', '+'};

    // std::string의 멤버 함수 (initializer_list 를 사용해서도 초기화 가능)
    std::string str4 = std::string(5, 'A'); // "AAAAA"

    // 문자열 출력
    std::cout << str1 << " " << str2 << " " << str3 << " " << str4 << std::endl;

    return 0;
}

2. 문자열 조작

문자열을 조작할 때에는 문자열 라이브러리의 다양한 멤버 함수를 사용할 수 있습니다.

#include <string>
#include <iostream>

int main() {
    std::string str = "Hello";

    // 문자열 끝에 문자 추가
    str.push_back('!'); // "Hello!"

    // 부분 문자열 추출
    std::string sub = str.substr(0, 5); // "Hello"
    
    // 문자열 검색
    size_t found = str.find("lo"); // 3
    
    // 문자열 치환
    str.replace(2, 3, "ABC"); // "HeABC!"
    
    // 문자열 삭제
    str.erase(2, 3); // "He!"
    
    // 문자열 길이
    std::cout << "Length: " << str.length() << std::endl; // 3

    return 0;
}

3. C 스타일 문자열 처리

C 스타일 문자열은 <cstring> 헤더를 사용하여 처리할 수 있습니다.

#include <cstring>
#include <iostream>

int main() {
    char cstr[20] = "C-style string";
    
    // 문자열 길이
    std::cout << "Length: " << std::strlen(cstr) << std::endl;

    // 문자열 복사
    char dest[20];
    std::strcpy(dest, cstr); // dest = "C-style string"
    
    // 문자열 이어붙이기
    std::strcat(dest, " appended"); // dest = "C-style string appended"

    return 0;
}

C++의 문자열 처리 기능을 활용하여 문자열을 효율적으로 다룰 수 있습니다. 위의 예시 코드를 참고하여 문자열을 생성, 조작 및 처리하는 방법에 대해 더 자세히 알아보세요.

참고 문헌: