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

C++ STL의 iswctype() 함수 완벽 가이드


C++ 표준 템플릿 라이브러리(STL)에서 iswctype() 함수는 주어진 와이드 문자(wide character)가 두 번째 인자인 desc로 지정한 속성을 가지고 있는지 검사하는 데 사용됩니다.

iswctype()은 내장 함수로, 헤더 파일 “ctype.h”에 선언되어 있으며 와이드 문자 관련 작업에서 자주 활용됩니다.

iswctype() 함수의 구문

int iswctype(wint_t c, wctype_t desc);
// c가 desc로 지정한 속성을 가지고 있는지 검사합니다.

함수 개요(Synopsis)

int iswctype(wint_t c, wctype_t desc);

매개변수

c − 검사할 와이드 문자로, 정수형 타입인 wint_t로 캐스팅되어 전달됩니다.

descwctype() 함수 호출 시 반환되는 값입니다. 이 값은 스칼라 타입으로, 와이드 문자 타입(wctype)의 반환 타입으로 사용됩니다.

반환값

문자 c가 실제로 desc가 나타내는 속성을 가지고 있다면 0이 아닌 값(즉, 참)을 반환하고, 그렇지 않으면 0(즉, 거짓)을 반환합니다.

C 언어에서 iswctype() 함수를 활용한 프로그램 예제

#include <stdio.h>
#include <wctype.h>
int main (){
    int i=0;
    wchar_t str[] = L"Test String.\n";
    wchar_t c;
    wctype_t check = wctype("lower");
    wctrans_t trans = wctrans("toupper");
    while (str[i]){
        c = str[i];
        if (iswctype(c,check)) c = towctrans(c,trans);
        putwchar (c);
        i++;
    }
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

TEST STRING.

위 예제에서는 wctype("lower")를 통해 소문자 속성을 확인하는 기준을 만들고, 문자열을 한 글자씩 순회하면서 iswctype()으로 소문자 여부를 판별합니다. 소문자로 판별된 문자는 towctrans() 함수를 통해 대문자로 변환되어 최종적으로 모든 문자가 대문자인 결과가 출력됩니다.