以下函数用于宽字符分类,返回非零值为 TRUE,返回 0 则为 FALSE。这些函数根据当前语言环境的 LC_CTYPE 类别中定义的命名字符类(例如 alpha、lower 或 jkana)检查给定宽字符。因此,这些函数是locale sensitive。
测试字母宽字符
测试字母数字宽字符
测试宽字符是否表示 7 位 US-ASCII 字符
测试空白宽字符
测试控制宽字符
测试十进制数字宽字符
测试可见宽字符
测试小写字母宽字符
测试可列显宽字符
测试标点宽符号
测试空格宽字符
测试大写字母宽字符
测试十六进制数字宽字符
测试表示英文语言字符的宽字符,不包括 US-ASCII 字符
测试表示象形语言字符的宽字符,不包括 US-ASCII 字符
测试表示数字的宽字符,不包括 US-ASCII 字符
测试表示语音语言字符的宽字符,不包括 US-ASCII 字符
测试表示特殊语言字符的宽字符,不包括 US-ASCII 字符
所有语言环境中都定义有以下字符类:
alnum
alpha
blank
cntrl
digit
graph
lower
punct
space
upper
xdigit
isenglish()、isideogram()、isnumber()、isphonogram() 和 isspecial() 是传统 Oracle Solaris 特定的宽字符分类函数。仅在以下亚洲语言环境中定义这些函数的字符类:ko_KR.EUC、zh_CN.EUC、zh_CN.GBK、zh_CN.GB18030、zh_HK.BIG5HK、zh_TW.BIG5 和 zh_TW.EUC 及其变体。当在其他语言环境(包括 Unicode 语言环境)中使用这些函数时,返回值将始终为 false。
您可以通过使用以下函数以常规方式查询特定字符类:
定义字符类
测试指定类的字符
在以下示例中,调用 iswctype() 和 wctype() 函数以检查给定 Unicode 字符是否属于 jhira 字符类。jhira 字符类来自于日语平假名书脚本。
wint_t wc; int ret; setlocale(LC_ALL, "ja_JP.UTF-8"); /* "\xe3\x81\xba" is UTF-8 for HIRAGANA LETTER PE */ ret = mbtowc(&wc, "\xe3\x81\xba", 3); if (ret == (size_t)-1) { /* Invalid character sequence. */ : } if (iswctype(wc, wctype("jhira"))) { wprintf(L"'%c' is a hiragana character.\n", wc); }
此示例将生成以下输出:
ぺ 是平假名字符。