NAME
isalpha,
isupper,
islower,
isdigit,
isxdigit,
isalnum,
isspace,
ispunct,
isprint,
isgraph,
iscntrl,
isblank,
toupper,
tolower, —
character classification
and mapping functions
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <ctype.h>
isalpha(
int
c);
isupper(
int
c);
islower(
int
c);
isdigit(
int
c);
isxdigit(
int
c);
isalnum(
int
c);
isspace(
int
c);
ispunct(
int
c);
isprint(
int
c);
isgraph(
int
c);
iscntrl(
int
c);
isblank(
int
c);
toupper(
int
c);
tolower(
int
c);
DESCRIPTION
The above functions perform character tests and conversions on the integer
c.
See the specific manual pages for information about the test or conversion
performed by each function.
EXAMPLES
To print an upper-case version of a string to stdout, the following code can be
used:
const char *s = "xyz";
while (*s != '\0') {
putchar(toupper((unsigned char)*s));
s++;
}
SEE ALSO
isalnum(3),
isalpha(3),
isblank(3),
iscntrl(3),
isdigit(3),
isgraph(3),
islower(3),
isprint(3),
ispunct(3),
isspace(3),
isupper(3),
isxdigit(3),
tolower(3),
toupper(3),
ascii(7)
STANDARDS
These functions, with the exception of
isblank(), conform to
ANSI X3.159-1989 (“ANSI C89”). All
described functions, including
isblank(), also conform to
IEEE Std 1003.1-2001 (“POSIX.1”).
CAVEATS
The first argument of these functions is of type
int, but
only a very restricted subset of values are actually valid. The argument must
either be the value of the macro
EOF
(which has a
negative value), or must be a non-negative value within the range
representable as
unsigned char. Passing invalid values
leads to undefined behavior.
Values of type
int that were returned by
getc(3),
fgetc(3), and similar functions
or macros are already in the correct range, and may be safely passed to these
ctype functions without any casts.
Values of type
char or
signed char
must first be cast to
unsigned char, to ensure that the
values are within the correct range. Casting a negative-valued
char or
signed char directly to
int will produce a negative-valued
int, which will be outside the range of allowed values
(unless it happens to be equal to
EOF
, but even that
would not give the desired result).