ISPRINT(3) | Library Functions Manual | ISPRINT(3)

# NAME

`isprint`, `isprint_l` — printing single-byte character test (space character inclusive)

# SYNOPSIS

`#include <ctype.h>`

int
`isprint`(int c);

int
`isprint_l`(int c, locale_t locale);

# DESCRIPTION

The `isprint`() and `isprint_l`() functions test for any printing character including space (‘ ’).

In the C locale, the complete list of printing characters consists of the characters numbered 0x20–0x7e, which is the union of the characters for which isalnum(3) or ispunct(3) is true, and the space character. 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 `isprint`() 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), ispunct(3), isspace(3), isupper(3), iswprint(3), isxdigit(3), stdio(3), toascii(3), tolower(3), toupper(3), ascii(7)

# STANDARDS

The `isprint`() function conforms to ANSI X3.159-1989 (“ANSI C89”), and `isprint_l`() to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `isprint`() function first appeared in Version 7 AT&T UNIX, and `isprint_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.

September 11, 2022 | Debian