Next: , Previous: islower, Up: Ctype


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.