We recommend using Visual Studio 2017

isdigit, iswdigit, _isdigit_l, _iswdigit_l


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at isdigit, iswdigit, _isdigit_l, _iswdigit_l.

Determines whether an integer represents a decimal-digit character.

int isdigit(   
   int c   
int iswdigit(   
   wint_t c   
int _isdigit_l(   
   int c,  
   _locale_t locale  
int _iswdigit_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 decimal-digit character. isdigit returns a nonzero value if c is a decimal digit (0 – 9). iswdigit returns a nonzero value if c is a wide character that corresponds to a decimal-digit character. Each of these routines returns 0 if c does not satisfy the test condition.

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 isdigit and _isdigit_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
RoutineRequired header
iswdigit<ctype.h> or <wchar.h>
_iswdigit_l<ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility.


Character Classification
is, isw Routines