This documentation is archived and is not being maintained.

_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l

Tests and converts the case of a multibyte character.

Important note Important

This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW.

unsigned int _mbctolower(
   unsigned int c 
unsigned int _mbctolower_l(
   unsigned int c,
   _locale_t locale
unsigned int _mbctoupper(
   unsigned int c 
unsigned int _mbctoupper_l(
   unsigned int c,
   _locale_t locale


Multibyte character to convert.


Locale to use.

Each of these functions returns the converted character c, if possible. Otherwise it returns the character c unchanged.

The functions test a character c and, if possible, apply one of the following conversions.




Uppercase character to lowercase character.


Lowercase character to uppercase character.

The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. The version of this function without the _l suffix uses the current locale for this locale-dependent behavior; the version with the _l suffix is identical except that it uses the locale parameter passed in instead. For more information, see Locale.

In previous versions, _mbctolower was calledjtolower, and _mbctoupper was called jtoupper. For new code, use the new names instead.

Generic-Text Routine Mappings

Tchar.h routine

_UNICODE and _MBCS not defined

_MBCS defined

_UNICODE defined


















Required header





For more compatibility information, see Compatibility in the Introduction.