名前
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - 文字を分類する
書式
#include <ctype.h>
int isalnum(int c);
int isalpha(int c);
int isascii(int c);
int isblank(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
説明
これらの関数は、現在のロケールに従って c を分類する。 c は unsigned char か EOF でなければならない。
isalnum() | |
英字または数字であるかを調べる。 (isalpha(c) || isdigit(c)) と等価である。 | |
isalpha() | |
アルファベットかどうか調べる。標準の "C" ロケールでは (isupper(c) || islower(c)) と等価である。他のロケールでは、大文字でも小文字でもない他の文字でも isalpha() が true を返すことがある。 | |
isascii() | |
c が、ASCII文字セットに合致する 7ビットの unsigned char であるかを調べる。 | |
isblank() | |
空白文字 (スペースかタブ) であるかを調べる。 | |
iscntrl() | |
制御文字かどうかを調べる。 | |
isdigit() | |
数字 (0〜9) かどうかを調べる。 | |
isgraph() | |
表示可能な文字かどうかを調べる。スペースは含まれない。 | |
islower() | |
小文字かどうかを調べる。 | |
isprint() | |
表示可能な文字かどうかを調べる。スペースも含まれる。 | |
ispunct() | |
表示可能な文字かどうかを調べる。スペースと英数字は含まれない。 | |
isspace() | |
空白文字かどうかを調べる。 C ロケールか POSIX ロケールでは、空白文字とは、スペース、フォームフィード (\f) 、改行(newline) (\n) 、復帰(carriage return) (\r) 、水平タブ (\t) 、垂直タブ (\v) である。 | |
isupper() | |
小文字かどうかを調べる。 | |
isxdigit() | |
16進数での数字かどうかを調べる。 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F の文字であるかどうかを調べることと等価である。 | |
返り値
文字 c が調べた文字の種類に合っていれば 0 以外を返す。 そうでなければ 0 を返す。
準拠
C99, 4.3BSD. C89 では、これらの関数のうち isascii() と isblank() 以外の すべてが規定されている。 isascii() は BSD や SVr4 の拡張である。 isblank() は POSIX.1-2001 と C99 7.4.1.3 に準拠している。
注意
ある文字がどの種類に入るかということは、現在のロケールに依存する。 たとえば、デフォルトの C ロケールでは isupper() は A のウムラウトを認識できないので、それが大文字だということがわからない。
関連項目
iswalnum(3), iswalpha(3), iswblank(3), iswcntrl(3), iswdigit(3), iswgraph(3), iswlower(3), iswprint(3), iswpunct(3), iswspace(3), iswupper(3), iswxdigit(3), setlocale(3), tolower(3), toupper(3), ascii(7), locale(7)