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');
}
}