フォーマット
#include <wctype.h> int iswalnum(wint_t wc); int iswalpha(wint_t wc); int iswcntrl(wint_t wc); int iswdigit(wint_t wc); int iswgraph(wint_t wc); int iswlower(wint_t wc); int iswprint(wint_t wc); int iswpunct(wint_t wc); int iswspace(wint_t wc); int iswupper(wint_t wc); int iswxdigit(wint_t wc);
言語レベル: ANSI
スレッド・セーフ: はい。
ロケール依存: コンパイル・コマンドで LOCALETYPE(*LOCALE) が指定される場合、これらの関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を 受ける可能性があります。これらの関数の振る舞いは、LOCALETYPE(*LOCALEUCS2) オプションまたは LOCALETYPE(*LOCALEUTF) オプションのいずれかをコンパイル・コマンドで指定した場合、現行ロケールの LC_UNI_CTYPE カテゴリーによって影響を受ける可能性があります。 これらの関数は、 コンパイル・コマンドで LOCALETYPE(*CLD) が指定される場合には使用できません。詳細については、CCSID およびロケールの理解を参照してください。
ワイド文字関数: 詳細については、ワイド文字を参照してください。
説明
上記の関数はすべて <wctype.h> 内で宣言されており、指定されているワイド整数値をテストします。
wc の値は、現行ロケール内で有効な文字に対応するワイド文字コードでなければならないか、または、マクロ WEOF の値と等しくなければなりません。 引数の値がその他の場合、振る舞いは予期できません。
このグループ内の各関数の説明が以下に続きます。
戻り値
これらの関数は、ワイド整数がテスト値を満たしている場合は非ゼロの値を戻し、満たしていない場合は 0 の値を戻します。wc の値は、ワイド符号なし char として表現可能なものでなくてはいけません。WEOF は入力値として妥当です。
例
#include <stdio.h> #include <wctype.h> int main(void) { int wc; for (wc=0; wc <= 0xFF; wc++) { printf("%3d", wc); printf(" %#4x ", wc); printf("%3s", iswalnum(wc) ? "AN" : " "); printf("%2s", iswalpha(wc) ? "A" : " "); printf("%2s", iswcntrl(wc) ? "C" : " "); printf("%2s", iswdigit(wc) ? "D" : " "); printf("%2s", iswgraph(wc) ? "G" : " "); printf("%2s", iswlower(wc) ? "L" : " "); printf(" %c", iswprint(wc) ? wc : ' '); printf("%3s", iswpunct(wc) ? "PU" : " "); printf("%2s", iswspace(wc) ? "S" : " "); printf("%3s", iswprint(wc) ? "PR" : " "); printf("%2s", iswupper(wc) ? "U" : " "); printf("%2s", iswxdigit(wc) ? "X" : " "); putchar('¥n'); } }
関連情報