#include <wchar.h>wctype_t wctype(const char *charclass);
wctype() 関数は、charclass 引数によって指示した内容に従って、ワイド文字クラスを判定するための wctype_t 型の値を構築します。実際の判定は iswctype() 関数を使用します。wctype() は、wctype() 関数で必要な引数を返します。
alnum alpha blank cntrl digit graph lower print punct space upper xdigit
この他に、日本語ロケール (ja、ja_JP.eucJP、ja_JP.PCK、および ja_JP.UTF-8) では、次の日本語ロケール専用文字クラスを定義しています。
jkanji jkata hira jdigit jparen line jisx0201r jisx0208 jisx0212 udc vdc
以下は ja、ja_JP.eucJP ロケールでのみ使用できます。
jalpha jspecial jgreek jrussian junit jsci jgen jpunct
以下は、ja_JP.eucJP、ja_JP.UTF-8 ロケールでのみ使用できます。
ascii paren jisx0201 gaiji jhankana jspace
これらもまた、wctype() 関数の charclass 引数として利用できます。ただし、これらを使用した場合は、日本語ロケール専用のアプリケーションになります。
アルファベット大文字 (C/1–D/10)
ローマ字大文字 (3/33–3/58)
ギリシャ文字大文字 (6/1–24)
ロシア文字大文字 (7/1–33)
ダイアクリティカルマーク付きギリシャアルファベット文字大文字 (6/65–69、71、73、74、76)
キリル系アルファベット大文字 (7/34-46)
ラテン系アルファベット大文字 (9/1、2、4、6、8、9、11、12、13、15、16)
ダイアクリティカルマーク付きラテン系アルファベット大文字 (10/01–24、26–87)
アルファベット小文字 (E/1–F/10)
ローマ字小文字 (3/65–90)
ギリシャ文字小文字 (6/33–56)
ロシア文字小文字 (7/49–81)
ダイアクリティカルマーク付きギリシャアルファベット文字小文字 (6/81–92)
キリル系アルファベット小文字 (7/82–94)
ラテン系アルファベット小文字 (9/33–48)
ダイアクリティカルマーク付きラテン系アルファベット小文字 (11/1–27、29–35、37–87)
10 進表現に用いる 0 から 9 までの数字を判別するクラス
数字 (B/0–9)
空白 (A/9–13)
間隔文字
間隔 (1/1)
A/1–15、B/10–C/0、D/11–E/0、F/11–14
すべての文字
すべての文字
A/9
間隔文字
間隔 (1/1)
数字 (B/0–9)
A–F、 a–f (C/1–6、 E/1–6)
アルファベットを判別するクラス
upper クラスと lower クラスの文字
間隔文字
文字未定義領域以外のすべての文字
文字未定義領域以外のすべての文字
文字未定義領域以外のすべての文字
vdc クラスのうち、文字未定義領域以外のすべての文字
udc クラスのうち、文字未定義領域も含むすべての文字
図形文字を判別するためのクラス
print クラスから space クラスに含まれる文字を除いたすべての文字
漢字 (漢字表記のために使用する記号、 表意文字) を判別するクラス
16 区 から 84 区の文字定義領域
16 区 から 77 区の文字定義領域
5/1–86、1/11、12、19、20
4/1–83、1/11、12、21、22、26
3/16–25
1/38–59
8/1–32
JIS X 0201 片仮名用図形キャラクタ集合に属する文字を判別するクラス
A/1 から D/15 までのすべての文字
JIS X 0208 に属する文字を判別するクラス
JIS X 0208 文字未定義領域の文字を含むすべての文字。ただし、1 区から 84 区まで (13 区ベンダー定義文字領域もここに含まれる)
JIS X 0212 に属する文字を判別するクラス
JIS X 0212 文字未定義領域の文字を含むすべての文字。ただし、1 区から 84 区まで (83、84 区ベンダー定義文字領域もここに含まれる)。ja_JP.PCK ロケールではどの文字もこのクラスに属さない
ユーザー定義文字を判別するクラス
ベンダー定義文字を判別するクラス
JIS X 0208 13 区: 特殊記号
JIS X 0212 83 区–84 区
JIS X 0212 に含まれない IBM 拡張文字
JIS X 0208 13 区: 特殊記号
NEC 選定 IBM 拡張文字 0xed40–0xeffc
IBM 拡張文字: 0xfa40–0xfcfc
定義なし
3/33–58、 3/65–90
1/2–94、 2/1–14、 2/26–33、 2/42–48、 2/60–74、 2/82–89、 94
2/15–25、 2/34–36、 2/75–81
IBM 拡張文字
NEC 選定 IBM 拡張文字で定義される特殊文字
6/1–24、 6/33–56
7/1–7/33、7/49–81
1/75–83、2/82、83
2/80
1/60–74、2/26–33、2/42–48、2/60–74
1/84–94、2/1–14、2/84–89、94
2/35、75、2/79–81
1/2–37
2/34、36
JIS X 0201 機能キャラクタ集合、間隔文字、ローマ文字用図形キャラクタ集合、抹消文字を判別するクラス
対にして用いる記号を判別するクラス
JIS X 0201 に属する文字を判別するクラス
実装者定義文字を判別するクラス。udc と vdc クラスを含む
JIS X 0201 に属する文字のうち日本語の表記に使用する文字を判別するクラス
JIS X 0208、JIS X 0212 に属する文字のうち、空白文字を判別するクラス
JIS X 0201 機能キャラクタ集合、ローマ文字用図形キャラクタ集合、片仮名用図形キャラクタ集合での XX/YY は XX 列 YY 行を意味します。JIS X 0208、JIS X 0212 での XX/YY は XX 区 YY 点を意味します。
JIS X 0212 の文字に関しては、ja、ja_JP.eucJP、または ja_JP.UTF-8 ロケールのみ該当します。