std::iswctype
来自 cppreference.com
定义在头文件 <cwctype> 中 |
||
int iswctype( std::wint_t wc, std::wctype_t desc ); |
||
使用当前 C 本地的 LC_CTYPE 类别(由 desc 标识)对宽字符 wc 进行分类。
如果 wc 的值既不能表示为 wchar_t,也不等于宏 WEOF 的值,则行为未定义。
内容 |
[编辑] 参数
wc | - | 要分类的宽字符 |
desc | - | 从调用 std::wctype 获取的 LC_CTYPE 类别 |
[编辑] 返回值
如果字符 wc 在当前 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 本地中查找字符分类类别 (函数) | |
C 文档 用于 iswctype
|