C

iswctype

iswctype

在头文件中定义
int iswctype(wint_t wc,wctype_t desc);(自C95以来)

使用由desc标识的当前C语言环境的LC_CTYPE类别对宽字符wc进行分类。

参数

wc-宽字符的分类
desc-从调用wctype获取的LC_CTYPE类别

返回值

如果字符wc在当前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):

扩展内容

wctype(C95)在当前的C语言环境(函数)中查找字符分类类别