ISALPHA(3)

名前
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 をチェックして、現在のlocaleに従い分類する。この c は unsigned char か EOF でなければならない。

isalnum()
    は英字または数字であるかを調べる。よってこれは (isalpha(c) || isdigit(c)). と等しい。

isalpha()
    はアルファベットかどうか調べる。これは標準の"C" localeでは (isupper(c) || islower(c)). と等しい。他のlocaleでは、大文字でも小文字でもない他の文字でも isalpha() がtrueを返すことがある。

isascii()
    はcが、ASCII文字セットに合った7ビットの unsigned char であるかを調べる。この関数はBSDやSVIDが拡張したものである。

isblank()
    は空白文字であるかを調べる。この空白文字とは、スペースかタブのことで ある。この関数はGNUが拡張したものである。

iscntrl()
    はコントロール文字かどうかを調べる。

isdigit()
    は数字 (0から9まで)かどうかを調べる。

isgraph()
    は表示可能な文字かどうかを調べる。スペースは表示可能な文字と みなされない。

islower()
    は小文字かどうかを調べる。

isprint()
    は表示可能な文字かどうかを調べる。このばあいはスペースを含む。

ispunct()
    checks for any printable character which is not a space or an alphanumeric character. は表示可能な文字かどうかを調べる。このときはスペースと英数字を除く。

isspace()
    は空白文字かどうかを調べる。 "C" localeか "POSIX" localeで、空白文字とは、スペース、フォームフィード ('\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を返す。

準拠
ANSI - C, BSD 4.3. isascii()はBSDやSVIDの拡張である。 また、isblank()はGNUの拡張である。

バグ
ある文字がどの種類に入るかということは、現在のlocaleに依存している。 たとえば、 C localeにおける isupper() はAのウムラウトを認識できないので、それが大文字だということがわからない。

関連項目
tolower(3), toupper(3), setlocale(3), ascii(7), locale(7)