iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l

Determines whether an integer represents a control character.


int iscntrl(
   int c
int iswcntrl(
   wint_t c
int _iscntrl_l(
   int c,
   _locale_t locale
int _iswcntrl_l(
   wint_t c,
   _locale_t locale


Integer to test

The locale to use.

Return value

Each of these routines returns nonzero if c is a particular representation of a control character. iscntrl returns a nonzero value if c is a control character (0x00 - 0x1F or 0x7F). iswcntrl returns a nonzero value if c is a control wide character. Each of these routines returns 0 if c doesn't satisfy the test condition.

The versions of these functions that have the _l suffix use the locale parameter that's passed in instead of the current locale. For more information, see Locale.

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

Generic-text routine mappings

TCHAR.H routine _UNICODE and _MBCS not defined _MBCS defined _UNICODE defined
_istcntrl iscntrl iscntrl iswcntrl
_istcntrl_l _iscntrl_l _iscntrl_l _iswcntrl_l


By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.


Routine Required header
iscntrl <ctype.h>
iswcntrl <ctype.h> or <wchar.h>
_iscntrl_l <ctype.h>
_iswcntrl_l <ctype.h> or <wchar.h>

For more compatibility information, see Compatibility.

See also

Character classification
is, isw routines