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

C++ STL iswlower() 함수 – 와이드 문자가 소문자인지 확인하는 방법

C++ 표준 템플릿 라이브러리(STL)에서 iswlower() 함수는 주어진 와이드 문자(wide character)가 소문자인지 여부를 확인하는 데 사용됩니다. 만약 해당 문자가 소문자가 아니라면 함수는 0을 반환합니다. ASCII 값이 97부터 122까지인 문자, 즉 a~z에 해당하는 알파벳이 소문자입니다. iswlower() 함수는 C/C++의 wctype.h 헤더 파일(와이드 문자용) 및 cctype 계열 헤더에서 제공됩니다.

iswlower() 함수의 문법

int iswlower (wint_t c)

매개변수 − c는 검사할 와이드 문자로, 정수 타입인 wint_t로 캐스팅되거나 WEOF 값을 가질 수 있습니다.

반환 값 − iswlower() 함수는 전달된 문자가 소문자일 경우 0이 아닌(non-zero) 값을 반환하고, 그렇지 않으면 0을 반환합니다.

예시

입력 − string[] = Test Me

출력 − 문자열에 소문자가 포함되어 있습니다.

설명 − 주어진 문자열에서 a~z 사이의 소문자가 포함되어 있는지 검사합니다.

입력 − string[] = Test Me

출력 − TEST ME

설명 − 주어진 문자열에서 소문자를 대문자로 변환했습니다.

프로그램의 동작 방식

  • wchar_t 타입 변수에 문자열을 입력받습니다.

  • STL의 내장 함수 iswlower()를 적용하여 문자열에 소문자가 포함되어 있는지 확인합니다.

  • 결과가 참(true)이면 함수는 0이 아닌 값을 반환하고, 거짓(false)이면 0을 반환합니다.

  • 최종 결과를 화면에 출력합니다.

예제 코드

#include <stdio.h>
#include <wctype.h>
int main (){
    int i=0;
    wchar_t str[] = L"Test String.\n";
    wchar_t c;
    while (str[i]){
        c = str[i];
        if (iswlower(c)) c=towupper(c);
        putwchar (c);
        i++;
    }
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 출력이 생성됩니다 −

TEST STRING

위 예제에서는 문자열의 각 문자를 순회하면서 iswlower()로 소문자 여부를 판별한 뒤, 소문자인 경우 towupper() 함수를 사용해 대문자로 변환하여 출력합니다. 이처럼 iswlower()는 와이드 문자열 처리 시 특정 문자가 소문자인지 손쉽게 검사할 수 있는 유용한 함수입니다.