当前位置:主页C 语言入门教程

23.17 wctype.h

文章来源:知付 更新时间:2022-05-28 17:01 热度:415

wctype.h 提供 ctype.h 里面函数的宽字符版本。

目录
  • 宽字符类型判断函数

  • wctype(),iswctype()

  • 大小写转换函数

宽字符类型判断函数

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

  • iswalnum() 测试宽字符是否为字母数字

  • iswalpha() 测试宽字符是否为字母

  • iswblank() 测试这是否是一个宽空白字符

  • iswcntrl() 测试这是否是一个宽控制字符。

  • iswdigit() 测试这个宽字符是否是数字

  • iswgraph() 测试宽字符是否是可打印的非空格字符

  • iswlower() 测试宽字符是否为小写

  • iswprint() 测试宽字符是否可打印

  • iswpunct() 测试宽字符是否为标点符号

  • iswspace() 测试宽字符是否为空格

  • iswupper() 测试宽字符是否为大写

  • iswxdigit() 测试宽字符是否为十六进制数字

wctype(),iswctype()

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

int iswctype(wint_t wc, wctype_t desc);

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

如果宽字符属于指定类型, iswctype() 返回一个非零值,否则返回零。

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

wctype_t wctype(const char* property);

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

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

if (iswctype(c, wctype("digit")))
// 相当于
if (iswdigit(c))

上面示例用来判断宽字符 c 是否为数值,相当于 iswdigit()

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

iswctype(c, wctype("alnum"))    // 相当于 iswalnum(c)
iswctype(c, wctype("alpha"))    // 相当于 iswalpha(c)
iswctype(c, wctype("blank"))    // 相当于 iswblank(c)
iswctype(c, wctype("cntrl"))    // 相当于 iswcntrl(c)
iswctype(c, wctype("digit"))    // 相当于 iswdigit(c)
iswctype(c, wctype("graph"))    // 相当于 iswgraph(c)
iswctype(c, wctype("lower"))    // 相当于 iswlower(c)
iswctype(c, wctype("print"))    // 相当于 iswprint(c)
iswctype(c, wctype("punct"))    // 相当于 iswpunct(c)
iswctype(c, wctype("space"))    // 相当于 iswspace(c)
iswctype(c, wctype("upper"))    // 相当于 iswupper(c)
iswctype(c, wctype("xdigit"))   // 相当于 iswxdigit(c)

大小写转换函数

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

  • towlower() 将大写宽字符转换为小写

  • towupper() 将小写宽字符转换为大写

  • towctrans() 宽字符大小写转换的通用函数

  • wctrans() 大小写转换的辅助函数,配合 towctrans() 使用

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

towlower(L'B') // b
towupper(L'e') // E

towctrans()wctrans() 的原型如下。

wint_t towctrans(wint_t wc, wctrans_t desc);
wctrans_t wctrans(const char* property);

下面是它们的用法示例。

towctrans(c, wctrans("toupper"))    // 相当于 towupper(c)
towctrans(c, wctrans("tolower"))    // 相当于 towlower(c)
分享到:

#免责声明#

版权声明:《 23.17 wctype.h 》为作者 知付 原创文章,转载请注明原文地址!
本站所有文章,如无特殊说明或标注,均为本站原创或整合发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本文地址:https://www.yoppunion.com/C%20%E8%AF%AD%E8%A8%80%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/126.html
同类推荐
评论列表
签到

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

支付宝扫一扫打赏

微信扫一扫打赏

微信扫一扫打赏