ISPUNCT(3) | Library Functions Manual | ISPUNCT(3) |
ispunct
, ispunct_l
— punctuation single-byte character test
#include
<ctype.h>
int
ispunct
(int
c);
int
ispunct_l
(int
c, locale_t
locale);
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.
These functions return zero if the character tests false or non-zero if the character tests true.
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).
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)
The ispunct
() function conforms to
ANSI X3.159-1989 (“ANSI C89”),
and ispunct_l
() to IEEE Std
1003.1-2008 (“POSIX.1”).
The ispunct
() function first appeared in
Version 7 AT&T UNIX, and
ispunct_l
() has been available since
OpenBSD 6.2.
The argument c must be
EOF
or representable as an unsigned
char
; otherwise, the result is undefined.
September 5, 2017 | OpenBSD-6.9 |