ispunct(3C)
NAME
ctype, isdigit, isxdigit, islower, isupper, isalpha, isal-
num, isspace, iscntrl, ispunct, isprint, isgraph, isascii -
character handling
SYNOPSIS
#include <ctype.h>
int isalpha(int c);
int isupper(int c);
int islower(int c);
int isdigit(int c);
int isxdigit(int c);
int isalnum(int c);
int isspace(int c);
int ispunct(int c);
int isprint(int c);
int isgraph(int c);
int iscntrl(int c);
int isascii(int c);
DESCRIPTION
These macros classify character-coded integer values. Each
is a predicate returning non-zero for true, 0 for false. The
behavior of these macros, except isascii(), is affected by
the current locale (see setlocale(3C)). To modify the
behavior, change the LC_TYPE category in setlocale(), that
is, setlocale(LC_CTYPE, newlocale). In the "C" locale, or in
a locale where character type information is not defined,
characters are classified according to the rules of the US-
ASCII 7-bit coded character set.
The macro isascii() is defined on all integer values; the
rest are defined only where the argument is an int, the
value of which is representable as an unsigned char, or EOF,
which is defined by the <stdio.h> header and represents
end-of-file.
Functions exist for all the macros defined below. To get the
function form, the macro name must be undefined (for exam-
ple, #undef isdigit).
For macros described with Default and Standard conforming
versions, standard-conforming behavior will be provided for
standard-conforming applications (see standards(5)) and for
applications that define __XPG4_CHAR_CLASS__ before includ-
ing <ctype.h>.
Default
isalpha()
Tests for any character for which isupper() or
islower() is true.
Standard conforming
isalpha()
Tests for any character for which isupper() or
islower() is true, or any character that is one of the
current locale-defined set of characters for which
none of iscntrl(), isdigit(), ispunct(), or isspace()
is true. In "C" locale, isalpha() returns true only
for the characters for which isupper() or islower() is
true.
isupper()
Tests for any character that is an upper-case letter
or is one of the current locale-defined set of charac-
ters for which none of iscntrl(), isdigit(),
ispunct(), isspace(), or islower() is true. In the "C"
locale, isupper() returns true only for the characters
defined as upper-case ASCII characters.
islower()
Tests for any character that is a lower-case letter or
is one of the current locale-defined set of characters
for which none of iscntrl(), isdigit(), ispunct(),
isspace(), or isupper() is true. In the "C" locale,
islower() returns true only for the characters defined
as lower-case ASCII characters.
isdigit()
Tests for any decimal-digit character.
Default
isxdigit()
Tests for any hexadecimal-digit character ([0-9],
[A-F], or [a-f]).
Standard conforming
isxdigit()
Tests for any hexadecimal-digit character ([0-9],
[A-F], or [a-f] or the current locale-defined sets of
characters representing the hexadecimal digits 10 to
15 inclusive). In the "C" locale, only
0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
are included.
isalnum()
Tests for any character for which isalpha() or isdi-
git() is true (letter or digit).
isspace()
Tests for any space, tab, carriage-return, newline,
vertical-tab or form-feed (standard white-space char-
acters) or for one of the current locale-defined set
of characters for which isalnum() is false. In the C
locale, isspace() returns true only for the standard
white-space characters.
ispunct()
Tests for any printing character which is neither a
space ("") nor a character for which isalnum() or
iscntrl() is true.
Default
isprint()
Tests for any character for which ispunct(),
isupper(), islower(), isdigit(), and the space charac-
ter ("") is true.
Standard conforming
isprint()
Tests for any character for which iscntrl() is false,
and isalnum(), isgraph(), ispunct(), the space charac-
ter (""), and the characters in the current locale-
defined "print" class are true.
Default
isgraph()
Tests for any character for which ispunct(),
isupper(), islower(), and isdigit() is true.
Standard conforming
isgraph()
Tests for any character for which isalnum() and
ispunct() are true, or any character in the current
locale-defined "graph" class which is neither a space
("") nor a character for which iscntrl() is true.
iscntrl()
Tests for any ``control character'' as defined by the
character set.
isascii()
Tests for any ASCII character, code between 0 and 0177
inclusive.
RETURN VALUES
If the argument to any of the character handling macros is
not in the domain of the function, the result is undefined.
Otherwise, the macro/function will return non-zero if the
classification is TRUE, and 0 for FALSE.
USAGE
The isdigit(), isxdigit(), islower(), isupper(), isalpha(),
isalnum(), isspace(), iscntrl(), ispunct(), isprint(),
isgraph(), and isascii() macros can be used safely in mul-
tithreaded applications, as long as setlocale(3C) is not
being called to change the locale.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | MT-Safe with exceptions |
| CSI | Enabled |
|_____________________________|_____________________________|
SEE ALSO
setlocale(3C), stdio(3C), ascii(5), environ(5), standards(5)
Man(1) output converted with
man2html