iswalnum() から iswxdigit() — ワイド整数値のテスト

フォーマット

#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 の値と等しくなければなりません。 引数の値がその他の場合、振る舞いは予期できません。

このグループ内の各関数の説明が以下に続きます。

iswalnum()
ワイド英数字をテストします。
iswalpha()
現行ロケールの alpha クラスで定義されている、ワイド英字をテストします。
iswcntrl()
現行ロケールの cntrl クラスで定義されている、ワイド制御文字をテストします。
iswdigit()
現行ロケールの digit クラスで定義されている、0 から 9 までのワイド 10 進数字をテストします。
iswgraph()
現行ロケールの graph クラスで定義されている、ワイド印字文字 (スペースではなく) をテストします。
iswlower()
原稿ロケールの lower クラスで定義されているワイド小文字、または iswcntrl()iswdigit()iswspace() 関数のどれもが真ではないワイド小文字をテストします。
iswprint()
現行ロケールの print クラスで定義されている、すべてのワイド印字文字をテストします。
iswpunct()
現行ロケールの punct クラスで定義されている、ワイド非英数字、非スペース文字をテストします。
iswspace()
現行ロケールの space クラスで定義されている、ワイド空白文字をテストします。
iswupper()
現行ロケールの upper クラスで定義されている、ワイド大文字をテストします。
iswxdigit()
現行ロケールの xdigit クラスで定義されている、0 から 9、a から f、または A から F までのワイド 16 進数字をテストします。

戻り値

これらの関数は、ワイド整数がテスト値を満たしている場合は非ゼロの値を戻し、満たしていない場合は 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');
   }
}

関連情報



[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]