[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++의 문자열 처리 기능을 활용하여 문자열을 효율적으로 다룰 수 있습니다. 위의 예시 코드를 참고하여 문자열을 생성, 조작 및 처리하는 방법에 대해 더 자세히 알아보세요.
참고 문헌:
- https://en.cppreference.com/w/cpp/header/string
- https://en.cppreference.com/w/cpp/header/cstring