次の関数はワイド文字の分類に使用され、TRUE の場合はゼロ以外の値を返し、FALSE の場合は 0 を返します。これらの関数は、現在のロケールの LC_CTYPE カテゴリで定義されている、alpha、lower、または jkana などの指定された文字クラスに対して、指定されたワイド文字をチェックします。つまりこれらの関数は、ロケールに依存します。
英字のワイド文字をテストします
英数字のワイド文字をテストします
ワイド文字が 7 ビットの US-ASCII 文字を表すかどうかをテストします
空白のワイド文字をテストします
制御ワイド文字をテストします
10 進数のワイド文字をテストします
表示可能なワイド文字をテストします
小文字のワイド文字をテストします
出力可能なワイド文字をテストします
句読点ワイド文字をテストします
ホワイトスペースのワイド文字をテストします
大文字のワイド文字をテストします
16 進数のワイド文字をテストします
英語の文字を表すワイド文字をテストします (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); }
この例では次の出力が作成されます。
ぺ is a hiragana character.