wctype
wctype 模块提供宽字符分类与转换功能,包括判断宽字符是否为字母、数字、控制字符、标点符号等,以及宽字符的大小写转换和宽字符类型描述符的获取。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| 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
头文件清单
功能说明
- 判断宽字符是否为字母或数字
- 当宽字符属于字母(a-z、A-Z)或数字(0-9)时返回非零值
- 内部调用 iswalnum 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为字母或数字 | wc 为字母或数字 |
| 0 | 宽字符不是字母或数字 | wc 不是字母或数字 |
iswalpha_l
头文件清单
功能说明
- 判断宽字符是否为英文字母
- 当宽字符属于英文字母(a-z、A-Z)时返回非零值
- 内部调用 iswalpha 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为英文字母 | wc 为英文字母 |
| 0 | 宽字符不是英文字母 | wc 不是英文字母 |
iswblank
头文件清单
功能说明
- 判断宽字符是否为TAB或空格
- 当宽字符为水平制表符('\t')或空格(' ')时返回非零值
- 内部调用 isblank 实现
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为TAB或空格 | wc 为 '\t' 或 ' ' |
| 0 | 宽字符不是TAB或空格 | wc 不是 TAB 或空格 |
iswblank_l
头文件清单
功能说明
- 判断宽字符是否为TAB或空格
- 当宽字符为水平制表符或空格时返回非零值
- 内部调用 iswblank 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为TAB或空格 | wc 为 TAB 或空格 |
| 0 | 宽字符不是TAB或空格 | wc 不是 TAB 或空格 |
iswcntrl_l
头文件清单
功能说明
- 判断宽字符是否为控制字符
- 当宽字符属于 C0/C1 控制字符、行/段落分隔符或行内注释控制符时返回非零值
- 内部调用 iswcntrl 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为控制字符 | wc 为控制字符 |
| 0 | 宽字符不是控制字符 | wc 不是控制字符 |
iswctype_l
头文件清单
功能说明
- 判断宽字符是否属于指定的宽字符类型
- 根据 wctype_t 类型描述符调用对应的宽字符分类函数
- 内部调用 iswctype 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| type | wctype_t | 宽字符类型描述符 | 由 wctype 返回的合法值 |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符属于指定类型 | wc 符合 type 描述的字符类型 |
| 0 | 宽字符不属于指定类型 | wc 不符合 type 描述的字符类型或 type 无效 |
iswdigit_l
头文件清单
功能说明
- 判断宽字符是否为阿拉伯数字字符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
头文件清单
功能说明
- 判断宽字符是否为除空格外的可打印字符
- 当宽字符为可打印字符且不是空格时返回非零值
- 内部调用 iswgraph 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为除空格外的可打印字符 | wc 为可打印且非空格字符 |
| 0 | 宽字符不是图形字符 | wc 为空格或不可打印字符 |
iswlower_l
头文件清单
功能说明
- 判断宽字符是否为小写英文字母
- 当宽字符为小写英文字母时返回非零值
- 内部调用 iswlower 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为小写英文字母 | wc 为小写字母 |
| 0 | 宽字符不是小写英文字母 | wc 不是小写字母 |
iswprint_l
头文件清单
功能说明
- 判断宽字符是否为可打印字符
- 当宽字符属于可打印字符(非控制字符)时返回非零值
- 内部调用 iswprint 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为可打印字符 | wc 为可打印字符 |
| 0 | 宽字符不是可打印字符 | wc 为控制字符或不可打印字符 |
iswpunct_l
头文件清单
功能说明
- 判断宽字符是否为标点符号或特殊符号
- 当宽字符为标点符号时返回非零值
- 内部调用 iswpunct 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为标点符号或特殊符号 | wc 为标点符号 |
| 0 | 宽字符不是标点符号 | wc 不是标点符号 |
iswspace_l
头文件清单
功能说明
- 判断宽字符是否为空格字符
- 当宽字符为 Unicode White_Space 属性定义的空白字符时返回非零值
- 内部调用 iswspace 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为空格字符 | wc 为空白字符 |
| 0 | 宽字符不是空格字符 | wc 不是空白字符 |
iswupper_l
头文件清单
功能说明
- 判断宽字符是否为大写英文字母
- 当宽字符为大写英文字母时返回非零值
- 内部调用 iswupper 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为大写英文字母 | wc 为大写字母 |
| 0 | 宽字符不是大写英文字母 | wc 不是大写字母 |
iswxdigit_l
头文件清单
功能说明
- 判断宽字符是否为16进制数字
- 当宽字符为 '0''9'、'a''f'、'A'~'F' 时返回非零值
- 内部调用 iswxdigit 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待判断的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非零值 | 宽字符为16进制数字 | wc 为十六进制数字字符 |
| 0 | 宽字符不是16进制数字 | wc 不是十六进制数字字符 |
towlower_l
头文件清单
功能说明
- 将宽字符转换成小写字母
- 当宽字符为大写字母时返回对应的小写字母,否则返回原字符
- 内部调用 towlower 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待转换的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 小写宽字符 | 转换后的对应小写字母 | wc 为大写字母 |
| 原宽字符 | 未发生转换 | wc 不是大写字母 |
towupper_l
头文件清单
功能说明
- 将宽字符转换成大写字母
- 当宽字符为小写字母时返回对应的大写字母,否则返回原字符
- 内部调用 towupper 实现,locale 参数未使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| wc | wint_t | 待转换的宽字符 | 0 ~ WEOF |
| l | locale_t | 区域设置 | - |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 大写宽字符 | 转换后的对应大写字母 | wc 为小写字母 |
| 原宽字符 | 未发生转换 | wc 不是小写字母 |
wctype_l
头文件清单
功能说明
- 根据宽字符类型名称字符串获取对应的宽字符类型描述符
- 支持的类型名称包括: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
使用说明
在 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
使用说明
在 iswctype_l 接口中作为宽字符类型描述符参数类型使用,在 wctype_l 接口中作为返回值类型使用