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.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access