Next: , Previous: , Up: Ctype   [Contents][Index]


3.8 isprint, isgraph, isprint_l, isgraph_l—printable character predicates

Synopsis

#include <ctype.h>
int isprint(int c);
int isgraph(int c);

#include <ctype.h>
int isprint_l(int c, locale_t locale);
int isgraph_l(int c, locale_t locale);

Description
isprint is a macro which classifies singlebyte charset values by table lookup. It is a predicate returning non-zero for printable characters, and 0 for other character arguments. It is defined only if c is representable as an unsigned char or if c is EOF.

isgraph behaves identically to isprint, except that space characters are excluded.

isprint_l, isgraph_l are like isprint, isgraph but perform the check based on the locale specified by the locale object locale. If locale is LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.

You can use a compiled subroutine instead of the macro definition by undefining either macro using ‘#undef isprint’ or ‘#undef isgraph’, or ‘#undef isprint_l’ or ‘#undef isgraph_l’.


Returns
isprint, isprint_l return non-zero if c is a printing character. isgraph, isgraph_l return non-zero if c is a printing character except spaces.


Portability
isprint and isgraph are ANSI C.

No supporting OS subroutines are required.