OpenBSD manual page server

Manual Page Search Parameters

ISPUNCT(3) Library Functions Manual ISPUNCT(3)

ispunct, ispunct_lpunctuation single-byte character test

#include <ctype.h>

int
ispunct(int c);

int
ispunct_l(int c, locale_t locale);

The () and () 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 11, 2022 OpenBSD-current