tolower, _tolower, towlower, _tolower_l, _towlower_l

Converts a character to lowercase.

int tolower(
   int c 
);
int _tolower(
   int c 
);
int towlower(
   wint_t c 
);
int _tolower_l(
   int c,
   _locale_t locale 
);
int _towlower_l(
   wint_t c,
   _locale_t locale 
);

Parameters

  • [in] c
    Character to convert.

  • [in] locale
    Locale to use for locale-specific translation.

Return Value

Each of these routines converts a copy of c to lower case if the conversion is possible, and returns the result. There is no return value reserved to indicate an error.

Remarks

Each of these routines converts a given uppercase letter to a lowercase letter if it is possible and relevant. The case conversion of towlower is locale-specific. Only the characters relevant to the current locale are changed in case. The functions without the _l suffix use the currently set locale. The versions of these functions that have the _l suffix take the locale as a parameter and use that instead of the currently set locale. For more information, see Locale.

In order for _tolower to give the expected results, __isascii and isupper must both return nonzero.

Generic-Text Routine Mappings

TCHAR.H routine

_UNICODE & _MBCS not defined

_MBCS defined

_UNICODE defined

_totlower

tolower

_mbctolower

towlower

_totlower_l

_tolower_l

_mbctolower_l

_towlower_l

Note

_tolower_l and _towlower_l have no locale dependence and are not meant to be called directly. They are provided for internal use by _totlower_l.

Requirements

Routine

Required header

tolower

<ctype.h>

_tolower

<ctype.h>

towlower

<ctype.h> or <wchar.h>

For additional compatibility information, see Compatibility in the Introduction.

Example

See the example in to Functions.

.NET Framework Equivalent

System::Char::ToLower

See Also

Reference

Data Conversion

is, isw Routines

to Functions

Locale

Interpretation of Multibyte-Character Sequences