Character Classification and Case Mapping
A number of functions for
classifying and changing the case of
characters with type char
are defined in the
header file ctype.h
. These functions, whose names begin
with is...
or to...
, accept a
one-character argument whose value is between 0 and 255, or
EOF
.
The is...
functions, listed in Table 1-39, test whether the character is a member of a
specific category of characters. They return
“true,” i.e., a non-zero value, if
the character is in the given category. If not, the return value is
0, or “false.”
Category |
Function |
Letter |
int isalpha( int
|
Lower-case letter |
int islower( int
|
Upper-case letter |
int isupper( int
|
Decimal digit |
int isdigit( int
|
Hexadecimal digit |
int isxdigit( int
|
Letter or decimal digit |
int isalnum( int
|
Printable character |
int isprint( int
|
Printable character other than space ' ' |
int isgraph( int
|
Whitespace character |
int isspace( int
|
Punctuation mark |
int ispunct( int
|
Control character |
int iscntrl( int
|
Space or horizontal tabulator |
int isblank( int
|
The following example reads a character and then tests to see whether it is a digit:
int c = getchar(); // Read a character if ( isdigit( c ) ) ...// Is it a decimal digit?
The to
... functions are used to convert characters
from upper- to lower-case and vice versa, as shown in Table 1-40.
Get C Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.