Namespaces
Variants

iswctype

From cppreference.net
< c ‎ | string ‎ | wide
헤더 파일에 정의됨 <wctype.h>
int iswctype ( wint_t wc, wctype_t desc ) ;
(C95 이후)

현재 C 로캘의 wc 와이드 문자를 desc 로 식별되는 LC_CTYPE 카테고리를 사용하여 분류합니다.

목차

매개변수

wc - 분류할 와이드 문자
desc - LC_CTYPE 카테고리, wctype 호출로부터 획득됨

반환값

문자 wc 가 현재 C 로캘의 LC_CTYPE 패싯에서 desc 로 식별된 속성을 가지면 0이 아닌 값, 그렇지 않으면 0입니다.

예제

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
const char* classify(wchar_t wc, const char* cat)
{
    return iswctype(wc, wctype(cat)) ? "true" : "false";
}
int main(void)
{
    setlocale(LC_ALL, "ja_JP.UTF-8");
    puts("The character \u6c34 is...");
    const char* cats[] = {"digit", "alpha", "space", "cntrl", "jkanji"};
    for (int n = 0; n < 5; ++n)
        printf("%s?\t%s\n", cats[n], classify(L'\u6c34', cats[n]));
}

출력:

The character 水 is...
digit?  false
alpha?  true
space?  false
cntrl?  false
jkanji? true

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.30.2.2.1 The iswctype 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.30.2.2.1 iswctype 함수 (p: TBD)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.30.2.2.1 iswctype 함수 (p: 451-452)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.25.2.2.1 The iswctype 함수 (p: 397-398)

참고 항목

(C95)
현재 C 로캘에서 문자 분류 카테고리를 조회합니다
(함수)