wctype.h

    下面函数判断宽字符的类型。

    • iswalnum() 测试宽字符是否为字母数字
    • iswalpha() 测试宽字符是否为字母
    • iswblank() 测试这是否是一个宽空白字符
    • iswcntrl() 测试这是否是一个宽控制字符。
    • iswdigit() 测试这个宽字符是否是数字
    • iswgraph() 测试宽字符是否是可打印的非空格字符
    • iswlower() 测试宽字符是否为小写
    • iswpunct() 测试宽字符是否为标点符号
    • iswspace() 测试宽字符是否为空格
    • iswupper() 测试宽字符是否为大写
    • iswxdigit() 测试宽字符是否为十六进制数字

    是上一节各种宽字符类型判断函数的通用版本,必须与wctype()配合使用。

    iswctype()接受两个参数,第一个参数是一个需要判断类型的宽字符,第二个参数是宽字符类型描述,来自wctype()的返回值。

    wctype()用来获取某个种类宽字符的类型描述。

    1. wctype_t wctype(const char* property);

    wctype()的参数是一个给定的字符串,可用的值如下:alnum、alpha、blank、cntrl、digit、graph、lower、print、punct、space、upper、xdigit。

    wctype()的返回值的类型为 wctype_t,通常是一个整数。如果参数是一个无效值,则返回0

    iswctype()的完整类型判断如下。

    1. iswctype(c, wctype("alnum")) // 相当于 iswalnum(c)
    2. iswctype(c, wctype("alpha")) // 相当于 iswalpha(c)
    3. iswctype(c, wctype("blank")) // 相当于 iswblank(c)
    4. iswctype(c, wctype("cntrl")) // 相当于 iswcntrl(c)
    5. iswctype(c, wctype("digit")) // 相当于 iswdigit(c)
    6. iswctype(c, wctype("lower")) // 相当于 iswlower(c)
    7. iswctype(c, wctype("punct")) // 相当于 iswpunct(c)
    8. iswctype(c, wctype("space")) // 相当于 iswspace(c)
    9. iswctype(c, wctype("upper")) // 相当于 iswupper(c)
    10. iswctype(c, wctype("xdigit")) // 相当于 iswxdigit(c)

    wctype.h 提供以下宽字符大小写转换函数。

    • towlower() 将大写宽字符转换为小写
    • towupper() 将小写宽字符转换为大写
    • towctrans() 宽字符大小写转换的通用函数
    • wctrans() 大小写转换的辅助函数,配合 towctrans() 使用

    先看towlower()towupper()的用法示例。

    下面是它们的用法示例。