isalnum() - isxdigit() — 整数値のテスト

形式

#include <ctype.h>
int isalnum(int c);
/* Test for upper- or lowercase letters, or decimal digit */
int isalpha(int c);
/* Test for alphabetic character */
int isblank(int c);
/* Test for blank or tab character */
int iscntrl(int c);
/* Test for any control character */
int isdigit(int c);
/* Test for decimal digit */
int isgraph(int c);
/* Test for printable character excluding space */
int islower(int c);
/* Test for lowercase */
int isprint(int c);
/* Test for printable character including space */
int ispunct(int c);
/* Test for any nonalphanumeric printable character */
/* excluding space */
int isspace(int c);
/* Test for whitespace character */
int isupper(int c);
/* Test for uppercase */
int isxdigit(int c);
/* Test for hexadecimal digit */
 

言語レベル

ANSI

スレッド・セーフ

はい

ロケール依存

これらの関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 詳しくは、 CCSID とロケールについてを参照してください。

説明

リストされた <ctype.h> 関数は、整数値を持つキャラクターをテストします。

戻り値

これらの関数は、整数がテスト条件を満たしている場合は非ゼロの値を戻し、テスト条件を満たしていない場合はゼロの値を戻します。 整変数 c は、符号なし char 型 として表されていなければなりません。
注: EOF は有効な入力値です。

この例では、コード 0x0 とコード UPPER_LIMIT の間のすべての文字を分析し、英字の場合は A、英数字の場合は AN、ブランクまたはタブ文字の場合は B、大文字の場合は U、小文字の場合は L、数字の場合は D、16 進数字の場合は X、スペースの場合は S、句読点の場合は PU、出力可能文字の場合は PR、図形文字の場合は G、および制御文字の場合は C を出力します。 この例では、出力可能な場合にコードを出力します。

この例では 256 行の表が出力され、テストした属性を持つ 0 から 255 までの文字が示されます。
#include <stdio.h>
#include <ctype.h>
 
#define UPPER_LIMIT   0xFF
 
int main(void)
{
   int ch;
 
   for ( ch = 0; ch  <= UPPER_LIMIT; ++ch )
   {
      printf("%3d ", ch);
      printf("%#04x ", ch);
      printf("%3s ", isalnum(ch)  ? "AN" : " ");
      printf("%2s ", isalpha(ch)  ? "A"  : " ");
      printf("%2s ", isblank(ch)  ? "B"  : " ");
      printf("%2s",  iscntrl(ch)  ? "C"  : " ");
      printf("%2s",  isdigit(ch)  ? "D"  : " ");
      printf("%2s",  isgraph(ch)  ? "G"  : " ");
      printf("%2s",  islower(ch)  ? "L"  : " ");
      printf(" %c",  isprint(ch)  ? ch   : ' ');
      printf("%3s",  ispunct(ch)  ? "PU" : " ");
      printf("%2s",  isspace(ch)  ? "S"  : " ");
      printf("%3s",  isprint(ch)  ? "PR" : " ");
      printf("%2s",  isupper(ch)  ? "U"  : " ");
      printf("%2s",  isxdigit(ch) ? "X"  : " ");
 
      putchar('\n');
   }
}

関連情報