이 튜토리얼에서는 C++의 STL(표준 템플릿 라이브러리)을 사용하여 문자열 전체를 대문자 또는 소문자로 변환하는 방법을 알아봅니다.
C++ STL은 이러한 변환을 위해 toupper()와 tolower() 함수를 제공합니다. 각각 대문자와 소문자로 변환하는 역할을 하며, transform() 알고리즘과 함께 사용하면 문자열 전체를 한 번에 처리할 수 있습니다.
예제 코드
#include<bits/stdc++.h>
using namespace std;
int main(){
string su = "Tutorials point";
transform(su.begin(), su.end(), su.begin(), ::toupper);
cout << su << endl;
string sl = "Tutorials Point";
transform(sl.begin(), sl.end(), sl.begin(), ::tolower);
cout << sl << endl;
return 0;
}실행 결과
TUTORIALS POINT tutorials point
코드 설명
transform() 함수는 지정된 범위의 각 요소에 특정 연산을 적용하는 STL 알고리즘입니다. 위 예제에서는 문자열의 시작 반복자(begin())부터 끝 반복자(end())까지 순회하면서 각 문자에 ::toupper 또는 ::tolower를 적용하고, 그 결과를 다시 원래 위치에 저장합니다.
여기서 ::toupper 앞의 전역 범위 연산자(::)는 std 네임스페이스 내부의 오버로드된 버전과의 충돌을 피하기 위해 C 헤더에서 제공하는 전역 함수를 명시적으로 가리키는 것입니다.
이 방식은 별도의 반복문을 작성하지 않고도 한 줄로 문자열 전체의 대소문자 변환을 처리할 수 있어 코드가 간결하고 가독성이 뛰어납니다.