<wctype.h>头文件
<wctype.h>头文件定义了一个宏, 声明了三个数据类型和多个函数。<wctype.h>头文件中声明的函数分为以下四类:
- 宽字符分类函数
- 可扩展的宽字符分类函数
- 宽字符大小写映射函数
- 可扩展的宽字符大小写映射函数
对于<wctype.h>头文件中声明的所有接受wint_t类型参数的函数,参数值可用wchar_t类型表示或者等于宏WEOF。如果参数具有其它值,函数行为是未定义的。这些函数的行为会受到当前语言环境LC_CTYPE类别的影响。
术语打印宽字符(printing wide character)是指特定语言环境中在显示设备上占据至少一个打印位置的宽字符集成员。术语控制宽字符(control wide character)是指特定语言环境中除打印宽字符外的其它宽字符集成员。
对于存在对应单字节字符的宽字符(就像调用wctob函数一样。),如果对应单字节字符的字符分类函数返回true,宽字符对应的宽字符分类函数也将返回true;但iswgraph函数和iswpunct函数是例外。iswgraph函数和iswpunct函数对除L' '外既是打印宽字符,又是空格宽字符(white-space wide characters)的宽字符可能有所不同。
<wctype.h>头文件中定义的宏、声明的数据类型和函数具体如下:
类型(type):wint_t | 宽整数类型。 |
wctrans_t | 保存表示特定语言环境的字符映射值的标量类型。 |
wctype_t | 保存表示特定语言环境的字符分类值的标量类型。 |
宏(macro):
WEOF | 表示文件末尾的宏。 |
函数(function):
宽字符分类函数:
iswalnum | 检查宽字符是否为字母或者十进制数字字符的函数。 |
iswalpha | 检查宽字符是否为字母的函数。 |
iswblank | 检查宽字符是否为空白宽字符的函数。 |
iswcntrl | 检查宽字符是否为控制宽字符的函数。 |
iswdigit | 检查宽字符是否对应于十进制数字字符的函数。 |
iswgraph | 检查宽字符是否为打印宽字符(空格宽字符除外)的函数。 |
iswlower | 检查宽字符是否对应于小写字母的函数。 |
iswprint | 检查宽字符是否为打印宽字符的函数。 |
iswpunct | 检查宽字符是否为标点宽字符的函数。 |
iswspace | 检查宽字符是否对应于空格宽字符的函数。 |
iswupper | 检查宽字符是否对应于大写字母的函数。 |
iswxdigit | 检查宽字符是否对应于十六进制数字字符的函数。 |
iswctype | 检查宽字符分类类别的函数。 |
wctype | 构造当前环境宽字符分类类别的函数。 |
towlower | 将大写字母转换成小写字母的函数。 |
towupper | 将小写字母转换成大写字母的函数。 |
towctrans | 映射宽字符的函数。 |
wctrans | 构造宽字符间映射方式的函数。 |