wctype.h库提供了一些与ctype.h中的字符函数类似的宽字符函数,以及其他函数。wctype.h还定义了下面三种类型和宏。
wctype.h中定义的类型和宏 | ||
类型/宏 | 描述 | |
wint_t | 整数类型,用于储存扩展字符集中的任意值,还可以储存至少一个不是扩展字符成员的值 | |
wctrans_t | 标量类型,可以表示本地化指定的字符映射 | |
wctype_t | 标量类型,可以表示本地化指定的字符分类 | |
WEOF | wint_t类型的常量表达式,不对应扩展字符集中的任何成员,相当于宽字符中的EOF,用于表示宽字符输入的文件结尾 |
宽字节分类函数 | ||
函数原型 | 描述 | |
int iswalnum(wint_t wc) | 如果wc表示一个字母数字字符(字母或数字),函数返回真 | |
int iswalpha(wint_t wc) | 如果wc表示一个字母字符,函数返回真 | |
int iswblank(wint_t wc) | 如果wc表示一个空格,函数返回真 | |
int iswcntrl(wint_t wc) | 如果wc表示一个控制字符,函数返回真 | |
int iswdigit(wint_t wc) | 如果wc表示一个数字,函数返回真 | |
int iswgraph(wint_t wc) | 如果iswprint(wc)为真,且iswspace(wc)为假,函数返回真 | |
int iswprint(wint_t wc) | 如果wc表示一个可打印字符,函数返回真 | |
int iswlower(wint_t wc) | 如果wc表示一个小写字符,函数返回真 | |
int iswpunct(wint_t wc) | 如果wc表示一个标点字符,函数返回真 | |
int iswspace(wint_t wc) | 如果wc表示一个制表符、空格或换行符,函数返回真 | |
int iswupper(wint_t wc) | 如果wc表示一个大写字符,函数返回真 | |
int iswxdigit(wint_t wc) | 如果wc表示一个十六进制数字,函数返回真 |
可扩展的宽字符分类函数 | ||
函数原型 | 描述 | |
int iswctype(wint_t wc, wctype_t desc) | 如果wc具有desc描述的属性,函数返回真 | |
wctype_t wctype(const char *property) | wctype()函数构建了一个wctype_t类型的值,它描述了由字符串参数property指定的宽字符分类。如果根据当前本地化的LC_CTYPE类别,property识别宽字符分类有效,wctype()函数则返回非零值(可作为iswctype()函数的第2个参数);否则,函数返回0 |
该库还有4个与转换相关的函数。其中有两个函数分别与ctype.h库中toupper()和tolower()相对应。第3个函数是一个可扩展的版本,通过本地化的LC_CTYPE设置确定字符是大写还是小写。第4个函数为第3个函数提供合适的分类参数。
宽字符转换函数 | ||
函数原型 | 描述 | |
wint_towlower(wint_t wc) | 如果wc是大写字母,返回其小写形式;否则返回wc | |
wint_t towupper(wint_t wc) | 如果wc是小写字母,返回其大写形式,否则返回wc | |
wint_t towctrans(wint_t wc, wctrans_t desc) | 如果desc等于wctrans("lower")的返回值,函数返回wc的小写形式(由LC_CTYPE设置确定);如果desc等于wctrans(upper)的返回值,函数返回wc的大写形式(由LC_CTYPE设置确定) | |
wctrans_t wctrans(const char *property) | 如果参数是"lower"或"upper",函数返回一个wctrans_t类型的值,可用作towctrans()的参数并反映LC_CTYPE设置,否则函数返回0 |