Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

isprint, iswprint, _isprint_l, _iswprint_l

Determine if an integer represents a printable character.

int isprint(
   int c 
int iswprint(
   wint_t c 
int _isprint_l(
   int c,
   _locale_t locale
int _iswprint_l(
   wint_t c,
   _locale_t locale


Integer to test.


The locale to use.

Each of these routines returns nonzero if c is a particular representation of a printable character. isprint returns a nonzero value if c is a printable character, including the space character (0x20 – 0x7E). iswprint returns a nonzero value if c is a printable wide character, including the space wide character. Each of these routines returns 0 if c does not satisfy the test condition.

The result of the test condition for these functions depends on the LC_CTYPE category setting of the locale; see setlocale for more information. The versions of these functions without the _l suffix use the current locale for any locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale passed in instead. For more information, see Locale.

When used with a debug CRT library, isprint will display a CRT assert if passed a parameter that is not EOF or in the range of 0 through 0xFF. When used with a release CRT library, isprint will use the parameter as an index into an array, with undefined results if the parameter is not EOF or in the range of 0 through 0xFF.

Generic-Text Routine Mappings

TCHAR.H routine

_UNICODE & _MBCS not defined

_MBCS defined

_unicode defined






Required header




<ctype.h> or <wchar.h>




<ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility in the Introduction.

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

Community Additions

© 2015 Microsoft