isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l

Determines whether an integer represents a character that is a hexadecimal digit.


int isxdigit(
   int c
int iswxdigit(
   wint_t c
int _isxdigit_l(
   int c,
   _locale_t locale
int _iswxdigit_l(
   wint_t c,
   _locale_t locale


Integer to test.

Locale to use.

Return Value

Each of these routines returns nonzero if c is a particular representation of a hexadecimal digit. isxdigit returns a nonzero value if c is a hexadecimal digit (A - F, a - f, or 0 - 9). iswxdigit returns a nonzero value if c is a wide character that corresponds to a hexadecimal digit character. Each of these routines returns 0 if c does not satisfy the test condition.

For the "C" locale, the iswxdigit function does not support Unicode full-width hexadecimal characters.

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

The behavior of isxdigit and _isxdigit_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
_istxdigit isxdigit isxdigit iswxdigit


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


Routine Required header
isxdigit <ctype.h>
iswxdigit <ctype.h> or <wchar.h>
_isxdigit_l <ctype.h>
_iswxdigit_l <ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility.

See also

Character Classification
is, isw Routines