std::iswctype
定义于头文件 <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
参阅
在当前 C 本地环境中查找字符分类类别 (函数) |