# iswctype

< c‎ | string‎ | wide

定义于头文件 `<wctype.h>` |  |
int iswctype( wint_t wc, wctype_t desc ); |  | (C95 起)

用 `desc` 所标识的当前 C 本地环境的 LC_TYPE 类别分类宽字符 `wc` 。

### 参数

wc | - | 要分类的宽字符
desc | - | 从调用 std::wctype 获得的 LC_CTYPE 类别

### 返回值

若字符 `ch` 拥有当前 C 本地环境的 LC_CTYPE 平面 `desc` 所标识的属性则为非零值，否则为零。

### 示例

    #include <locale.h>
    #include <wchar.h>
    #include <wctype.h>
    #include <stdio.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? %s\n", cats[n], classify(L'\u6c34', cats[n]));
    }

输出：

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

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.30.2.2.1 The iswctype function (p: 451-452)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.25.2.2.1 The iswctype function (p: 397-398)

### 参阅

wctype (C95) | 查找当前 C 本地环境中的字符分类类别 (函数)