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로 캐스팅되어 전달됩니다.
desc − wctype() 함수 호출 시 반환되는 값입니다. 이 값은 스칼라 타입으로, 와이드 문자 타입(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() 함수를 통해 대문자로 변환되어 최종적으로 모든 문자가 대문자인 결과가 출력됩니다.