int
c
c
)
isupper(
c
)
islower(
c
)
isdigit(
c
)
isxdigit(
c
)
isalnum(
c
)
isspace(
c
)
ispunct(
c
)
isprint(
c
)
isgraph(
c
)
iscntrl(
c
)
isblank(
c
)
toupper(
c
)
tolower(
c
)
See the specific manual pages for information about the test or conversion performed by each function.
const char *s = ...;
while (*s != '\0') {
putchar(toupper((int)(unsigned char)*s));
s++;
}
),
conform to
ANSI X3.159-1989 (``ANSI C89'') .
EOF
(which has a negative value),
or must be a non-negative value within the range representable as
Passing invalid values leads to undefined behavior.
Values of type 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
or
must first be cast to
to ensure that the values are within the correct range.
The result should then be cast to
to avoid warnings from some compilers.
Casting a negative-valued
or
directly to
will produce a negative-valued
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).