std::iswctype
来自cppreference.com
<tbody>
</tbody>
| 在标头 <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 类别 |
返回值
若字符 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 << "字符 \u6c34 是...\n";
for (std::string s : {"digit", "alpha", "space", "cntrl", "jkanji"})
std::cout << s << "? " << std::boolalpha << classify(L'\u6c34', s) << '\n';
}
输出:
字符 水 是...
digit? false
alpha? true
space? false
cntrl? false
jkanji? true
参阅
| 在当前 C 本地环境中查找字符分类类别 (函数) | |
iswctype 的 C 文档
| |