We recommend using Visual Studio 2017

isupper, _isupper_l, iswupper, _iswupper_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 isupper, _isupper_l, iswupper, _iswupper_l.

Determines whether an integer represents an uppercase character.

int isupper(  
   int c   
int _isupper_l (  
   int c,  
   _locale_t locale  
int iswupper(  
   wint_t c   
int _iwsupper_l(  
   wint_t c,  
   _locale_t locale   


Integer to test.

Locale to use.

Each of these routines returns nonzero if c is a particular representation of an uppercase letter. isupper returns a nonzero value if c is an uppercase character (A – Z). iswupper returns a nonzero value if c is a wide character that corresponds to an uppercase letter, or if c is one of an implementation-defined set of wide characters for which none of iswcntrl, iswdigit, iswpunct, or iswspace is nonzero. 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 isupper and _isupper_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
_istupper_l_isupper_l_ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l_iswupper_l
RoutineRequired header
iswupper<ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility.


Character Classification
is, isw Routines