Xi Xu's More Things

iswctype

来自cppreference.com
< c‎ | string‎ | wide
 
 
 
空终止宽字符串
函数
字符操作
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C99)
(C95)
iswctype
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
转换成数值格式
(C95)(C99)
(C95)(C99)
(C99)(C95)(C99)
(C99)(C99)
字符串操作
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)(C11)
数组操作
(C95)(C11)
(C95)(C11)
(C95)
(C95)
(C95)
 
在标头 <wctype.h> 定义
int iswctype( wint_t wc, wctype_t desc );
(C95 起)

desc 所标识的当前 C 本地环境的 LC_TYPE 类别分类宽字符 wc

参数

wc - 要分类的宽字符
desc - 从调用 std::wctype 获得的 LC_CTYPE 类别

返回值

若字符 ch 拥有当前 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):
  • 7.30.2.2.1 The iswctype function (第 451-452 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.25.2.2.1 The iswctype function (第 397-398 页)

参阅

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