NAME
ispunct, ispunct_l
— punctuation single-byte
character test
SYNOPSIS
#include
<ctype.h>
int
ispunct(int
c);
int
ispunct_l(int
c, locale_t
locale);
DESCRIPTION
Theispunct()
and
ispunct_l()
test for any punctuation characters.
In the C locale, the complete list of punctuation characters is:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~These are all characters for which isgraph(3) is true but isalnum(3) is not. OpenBSD always uses the C locale for these functions, ignoring the global locale, the thread-specific locale, and the locale argument.
RETURN VALUES
These functions return zero if the character tests false or non-zero if the character tests true.
ENVIRONMENT
On systems supporting non-ASCII single-byte character encodings,
results of these functions may differ, and the results of
ispunct() may depend on the
LC_CTYPE
locale(1).
SEE ALSO
isalnum(3), isalpha(3), isascii(3), isblank(3), iscntrl(3), isdigit(3), isgraph(3), islower(3), isprint(3), isspace(3), isupper(3), iswpunct(3), isxdigit(3), stdio(3), toascii(3), tolower(3), toupper(3), ascii(7)
STANDARDS
The ispunct() function conforms to
ANSI X3.159-1989 (“ANSI C89”),
and ispunct_l() to IEEE Std
1003.1-2008 (“POSIX.1”).
HISTORY
The ispunct() function first appeared in
Version 7 AT&T UNIX, and
ispunct_l() has been available since
OpenBSD 6.2.
CAVEATS
The argument c must be
EOF or representable as an unsigned
char; otherwise, the result is undefined.