跳转至

wctype

wctype 模块提供宽字符分类与转换功能,包括判断宽字符是否为字母、数字、控制字符、标点符号等,以及宽字符的大小写转换和宽字符类型描述符的获取。

头文件清单

#include "open_source/musl/include/wctype.h"

接口清单

接口名称 功能简述
iswalnum_l 判断宽字符是否字母或数字
iswalpha_l 判断宽字符是否为英文字母
iswblank 判断宽字符是否为TAB或者空格
iswblank_l 判断宽字符是否为TAB或者空格
iswcntrl_l 判断宽字符是否为控制字符
iswctype_l 判断是否为宽字符类型
iswdigit_l 判断宽字符是否为阿拉伯字符0到9
iswgraph_l 判断宽字符是否为除空格外的可打印字符
iswlower_l 判断宽字符是否为小写英文字母
iswprint_l 判断宽字符是否为可打印字符
iswpunct_l 判断宽字符是否为标点符号或特殊符号
iswspace_l 判断宽字符是否为空格字符
iswupper_l 判断宽字符是否为大写英文字母
iswxdigit_l 判断宽字符是否为16进制数字
towlower_l 将宽字符转换成小写字母
towupper_l 将宽字符转换成大写字母
wctype_l 判断是否为宽字符类型

Functions

iswalnum_l

int iswalnum_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为字母或数字
  • 当宽字符属于字母(a-z、A-Z)或数字(0-9)时返回非零值
  • 内部调用 iswalnum 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为字母或数字 wc 为字母或数字
0 宽字符不是字母或数字 wc 不是字母或数字

iswalpha_l

int iswalpha_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为英文字母
  • 当宽字符属于英文字母(a-z、A-Z)时返回非零值
  • 内部调用 iswalpha 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为英文字母 wc 为英文字母
0 宽字符不是英文字母 wc 不是英文字母

iswblank

int iswblank(wint_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为TAB或空格
  • 当宽字符为水平制表符('\t')或空格(' ')时返回非零值
  • 内部调用 isblank 实现

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF

返回值

返回值 文字含义 触发场景
非零值 宽字符为TAB或空格 wc 为 '\t' 或 ' '
0 宽字符不是TAB或空格 wc 不是 TAB 或空格

iswblank_l

int iswblank_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为TAB或空格
  • 当宽字符为水平制表符或空格时返回非零值
  • 内部调用 iswblank 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为TAB或空格 wc 为 TAB 或空格
0 宽字符不是TAB或空格 wc 不是 TAB 或空格

iswcntrl_l

int iswcntrl_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为控制字符
  • 当宽字符属于 C0/C1 控制字符、行/段落分隔符或行内注释控制符时返回非零值
  • 内部调用 iswcntrl 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为控制字符 wc 为控制字符
0 宽字符不是控制字符 wc 不是控制字符

iswctype_l

int iswctype_l(wint_t, wctype_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否属于指定的宽字符类型
  • 根据 wctype_t 类型描述符调用对应的宽字符分类函数
  • 内部调用 iswctype 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
type wctype_t 宽字符类型描述符 wctype 返回的合法值
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符属于指定类型 wc 符合 type 描述的字符类型
0 宽字符不属于指定类型 wc 不符合 type 描述的字符类型或 type 无效

iswdigit_l

int iswdigit_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为阿拉伯数字字符0到9
  • 当宽字符为 '0'~'9' 时返回非零值
  • 内部调用 iswdigit 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为阿拉伯数字0到9 wc 为 '0'~'9'
0 宽字符不是阿拉伯数字 wc 不在 '0'~'9' 范围

iswgraph_l

int iswgraph_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为除空格外的可打印字符
  • 当宽字符为可打印字符且不是空格时返回非零值
  • 内部调用 iswgraph 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为除空格外的可打印字符 wc 为可打印且非空格字符
0 宽字符不是图形字符 wc 为空格或不可打印字符

iswlower_l

int iswlower_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为小写英文字母
  • 当宽字符为小写英文字母时返回非零值
  • 内部调用 iswlower 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为小写英文字母 wc 为小写字母
0 宽字符不是小写英文字母 wc 不是小写字母

iswprint_l

int iswprint_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为可打印字符
  • 当宽字符属于可打印字符(非控制字符)时返回非零值
  • 内部调用 iswprint 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为可打印字符 wc 为可打印字符
0 宽字符不是可打印字符 wc 为控制字符或不可打印字符

iswpunct_l

int iswpunct_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为标点符号或特殊符号
  • 当宽字符为标点符号时返回非零值
  • 内部调用 iswpunct 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为标点符号或特殊符号 wc 为标点符号
0 宽字符不是标点符号 wc 不是标点符号

iswspace_l

int iswspace_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为空格字符
  • 当宽字符为 Unicode White_Space 属性定义的空白字符时返回非零值
  • 内部调用 iswspace 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为空格字符 wc 为空白字符
0 宽字符不是空格字符 wc 不是空白字符

iswupper_l

int iswupper_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为大写英文字母
  • 当宽字符为大写英文字母时返回非零值
  • 内部调用 iswupper 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为大写英文字母 wc 为大写字母
0 宽字符不是大写英文字母 wc 不是大写字母

iswxdigit_l

int iswxdigit_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 判断宽字符是否为16进制数字
  • 当宽字符为 '0''9'、'a''f'、'A'~'F' 时返回非零值
  • 内部调用 iswxdigit 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待判断的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零值 宽字符为16进制数字 wc 为十六进制数字字符
0 宽字符不是16进制数字 wc 不是十六进制数字字符

towlower_l

wint_t towlower_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 将宽字符转换成小写字母
  • 当宽字符为大写字母时返回对应的小写字母,否则返回原字符
  • 内部调用 towlower 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待转换的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
小写宽字符 转换后的对应小写字母 wc 为大写字母
原宽字符 未发生转换 wc 不是大写字母

towupper_l

wint_t towupper_l(wint_t, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 将宽字符转换成大写字母
  • 当宽字符为小写字母时返回对应的大写字母,否则返回原字符
  • 内部调用 towupper 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
wc wint_t 待转换的宽字符 0 ~ WEOF
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
大写宽字符 转换后的对应大写字母 wc 为小写字母
原宽字符 未发生转换 wc 不是小写字母

wctype_l

wctype_t wctype_l(const char *, locale_t)

头文件清单

#include "open_source/musl/include/wctype.h"

功能说明

  • 根据宽字符类型名称字符串获取对应的宽字符类型描述符
  • 支持的类型名称包括:alnum、alpha、blank、cntrl、digit、graph、lower、print、punct、space、upper、xdigit
  • 内部调用 wctype 实现,locale 参数未使用

入参

名称 参数类型 详细说明 约束取值范围
s const char * 宽字符类型名称字符串 合法的类型名称字符串
l locale_t 区域设置 -

返回值

返回值 文字含义 触发场景
非零 wctype_t 有效的宽字符类型描述符 s 为合法类型名称
0 无效的宽字符类型描述符 s 为非法类型名称

Type definitions

wint_t

typedef unsigned wint_t;

使用说明

在 iswalnum_l、iswalpha_l、iswblank、iswblank_l、iswcntrl_l、iswctype_l、iswdigit_l、iswgraph_l、iswlower_l、iswprint_l、iswpunct_l、iswspace_l、iswupper_l、iswxdigit_l、towlower_l、towupper_l 接口中作为宽字符参数类型使用

wctype_t

typedef unsigned long wctype_t;

使用说明

在 iswctype_l 接口中作为宽字符类型描述符参数类型使用,在 wctype_l 接口中作为返回值类型使用

Macros

WEOF

#define WEOF 0xffffffffU