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) ; |
![]() |
Note | |||||
---|---|---|---|---|---|---|
|
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.
isalnum
()checks for an alphanumeric character; it is
equivalent to (isalpha(
c
) || isdigit(c
)).
isalpha
()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.
isascii
()checks whether c
is a 7-bit unsigned char value that fits into the
ASCII character set.
isblank
()checks for a blank character; that is, a space or a tab.
iscntrl
()checks for a control character.
isdigit
()checks for a digit (0 through 9).
isgraph
()checks for any printable character except space.
islower
()checks for a lower-case character.
isprint
()checks for any printable character including space.
ispunct
()checks for any printable character which is not a space or an alphanumeric character.
isspace
()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'
).
isupper
()checks for an uppercase letter.
isxdigit
()checks for a hexadecimal digits, that is, 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.
C99, 4.3BSD. C89 specifies all of these functions except
isascii
() and isblank
(). isascii
() is a BSD extension and is also an
SVr4 extension. isblank
()
conforms to POSIX.1-2001 and C99 7.4.1.3. POSIX.1-2008 marks
isascii
() as obsolete, noting
that it cannot be used portably in a localized
application.
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.
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), toascii(3), tolower(3), toupper(3), ascii(7), locale(7)