# std::iswctype

< cpp‎ | string‎ | wide

定义于头文件 `<cwctype>` |  |
int iswctype( std::wint_t wc, std::wctype_t desc ); |  |

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

若 `wc` 的值既不能表示为 wchar_t 又不等于宏 WEOF ，则行为未定义。

### 参数

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

### 返回值

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

### 示例

    #include <clocale>
    #include <cwctype>
    #include <iostream>
    bool classify(wchar_t wc, const std::string& cat)
    {
        return std::iswctype(wc, std::wctype(cat.c_str()));
    }
    int main()
    {
        std::setlocale(LC_ALL, "ja_JP.UTF-8");
        std::cout << "The character \u6c34 is...\n";
        for(std::string s : {"digit", "alpha", "space", "cntrl", "jkanji"})
            std::cout << s << "? " << std::boolalpha << classify(L'\u6c34', s) << '\n';
    }

输出：

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

### 参阅

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