Namespaces
Variants

iswctype

From cppreference.net
< c ‎ | string ‎ | wide
定义于头文件 <wctype.h>
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 <stdio.h>
#include <wchar.h>
#include <wctype.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?\t%s\n", cats[n], classify(L'\u6c34', cats[n]));
}

输出:

字符 水 是...
digit?  false
alpha?  true
space?  false
cntrl?  false
jkanji? true

参考文献

  • C23 标准 (ISO/IEC 9899:2024):
  • 7.30.2.2.1 iswctype 函数 (p: TBD)
  • C17 标准 (ISO/IEC 9899:2018):
  • 7.30.2.2.1 iswctype 函数 (p: 待定)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.30.2.2.1 iswctype 函数 (p: 451-452)
  • C99标准(ISO/IEC 9899:1999):
  • 7.25.2.2.1 iswctype函数(页码:397-398)

参见

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