Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ STL을 활용한 문자열 전체 대문자·소문자 변환 방법

이 튜토리얼에서는 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 헤더에서 제공하는 전역 함수를 명시적으로 가리키는 것입니다.

이 방식은 별도의 반복문을 작성하지 않고도 한 줄로 문자열 전체의 대소문자 변환을 처리할 수 있어 코드가 간결하고 가독성이 뛰어납니다.