Scroll to navigation

ISALPHA(3) Linux Programmer's Manual ISALPHA(3)


isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - character classification routines


#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);


These functions check whether c, which must have the value of an unsigned char or EOF, falls into a certain character class according to the current locale.

checks for an alphanumeric character; it is equivalent to (isalpha(c) || isdigit(c)).
checks for an alphabetic character; in the standard "C" locale, it is equivalent to (isupper(c) || islower(c)). In some locales, there may be additional characters for which isalpha() is true--letters which are neither upper case nor lower case.
checks whether c is a 7-bit unsigned char value that fits into the ASCII character set. This function is a BSD extension and is also an SVID extension.
checks for a blank character; that is, a space or a tab. This function is a GNU extension.
checks for a control character.
checks for a digit (0 through 9).
checks for any printable character except space.
checks for a lower-case character.
checks for any printable character including space.
checks for any printable character which is not a space or an alphanumeric character.
checks for white-space characters. In the "C" and "POSIX" locales, these are: space, form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal tab ('\t'), and vertical tab ('\v').
checks for an uppercase letter.
checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.


The values returned are nonzero if the character c falls into the tested class, and a zero value if not.


ANSI - C, BSD 4.3. isascii() is a BSD extension and is also an SVID extension. isblank() is a GNU extension.


The details of what characters belong into which class depend on the current locale. For example, isupper() will not recognize an A - umlaut as an uppercase letter in the default C locale.


tolower(3), toupper(3), setlocale(3), ascii(7), locale(7)

September 2, 1995 GNU