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
The
ispunct
()
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.