C 编程/wctype.h
外观
< C 编程
(重定向自 C 编程/C 参考/wctype.h)在 C 编程语言中,wctype.h
是标准库中的一个头文件,包含用于分类和映射宽字符的各种函数和宏。处理(普通,非宽)字符的对应头文件是 <ctype.h>
。
该头文件声明了 (来自 <wchar.h>
) wint_t
和 wctype_t
类型,以及 WEOF
宏。[1] (wint_t
能够存储任何宽字符或 WEOF
值。) wctrans_t
类型也被声明,它表示字符之间的映射。[1]
这些函数根据当前区域设置,返回非零/零,具体取决于参数是否在特定类别中。POSIX:2008 指定了这些函数的替代版本,这些版本以 _l
结尾,并接受区域设置 (locale_t
) 作为附加参数。
声明 | 如果ch 是 … 返回非零值 |
---|---|
int iswalnum(wint_t wc); |
字母数字 |
int iswalpha(wint_t wc); |
字母 |
int iswblank(wint_t wc); |
空格 |
int iswcntrl(wint_t wc); |
控制字符 |
int iswctype(wint_t wc, wctype_t charclass); |
在charclass 中 |
int iswdigit(wint_t wc); |
数字 |
int iswgraph(wint_t wc); |
可见字符 |
int iswlower(wint_t wc); |
小写字母 |
int iswprint(wint_t wc); |
可打印 |
int iswpunct(wint_t wc); |
标点符号 |
int iswspace(wint_t wc); |
空白符 |
int iswupper(wint_t wc); |
大写字母 |
int iswxdigit(wint_t wc); |
十六进制数字 |
这些函数接收一个宽字符,并对其应用一些映射。
声明 | 描述 |
---|---|
wint_t towctrans(wint_t ch, wctrans_t desc); |
根据映射desc 映射ch |
wint_t towlower(wint_t ch); |
如果ch 是大写字母,则将其映射为小写,否则返回不变 |
wint_t towupper(wint_t ch); |
如果ch 是小写字母,则将其映射为大写,否则返回不变 |
这些函数从字符串创建用于其他函数的值。请注意,iswdigit(c)
等同于 iswctype(c, wctype("digit"))
,而 toupper(c)
等同于 towctrans(c, wctrans("toupper"))
。[2]
声明 | 描述 |
---|---|
wctrans_t wctrans(const char *charclass); |
返回一个字符映射,可与 towctrans 一起使用 |
wctype_t wctype(const char *property); |
返回一个字符类别,可与 iswctype 一起使用 |
- ↑ a b : 宽字符分类和映射实用程序 – 基本定义参考,The Single UNIX® Specification,Issue 7 from The Open Group
- ↑ 当前标准 (包括技术勘误 TC1、TC2 和 TC3 的 C99)PDF (3.61 MB). 第 397、398 和 400 页。