C 编程/wctype.h
外观
< C 编程
在 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 : 宽字符分类和映射实用程序 – 基本定义参考,单一 UNIX® 规范,第 7 版,来自开放组
- ↑ 当前标准(C99 包含技术勘误 TC1、TC2 和 TC3)PDF (3.61 MB). 第 397、398 和 400 页。