isprint, iswprint, _isprint_l, _iswprint_l


For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Determines whether 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—this includes the space character (0x20 – 0x7E). iswprint returns a nonzero value if c is a printable wide character—this includes 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, _wsetlocale for more information. The versions of these functions that do not have the _l suffix use the current locale for any locale-dependent behavior; the versions that do have the _l suffix are identical except that they use the locale that's passed in instead. For more information, see Locale.

The behavior of isprint and _isprint_l is undefined if c is not EOF or in the range 0 through 0xFF, inclusive. When a debug CRT library is used and c is not one of these values, the functions raise an assertion.

Generic-Text Routine Mappings

TCHAR.H routine_UNICODE & _MBCS not defined_MBCS defined_unicode defined
_ istprintisprint_ismbcprintiswprint
RoutineRequired header
iswprint<ctype.h> or <wchar.h>
_iswprint_l<ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility.

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

Character Classification
is, isw Routines