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 toupper, _toupper, towupper, _toupper_l, _towupper_l.
Convert character to uppercase.
Syntax
int toupper(
int c
);
int _toupper(
int c
);
int towupper(
wint_t c
);
int _toupper_l(
int c ,
_locale_t locale
);
int _towupper_l(
wint_t c ,
_locale_t locale
);
Parameters
c
Character to convert.
locale
Locale to use.
Return Value
Each of these routines converts a copy of c, if possible, and returns the result.
If c is a wide character for which iswlower is nonzero and there is a corresponding wide character for which iswupper is nonzero, towupper returns the corresponding wide character; otherwise, towupper returns c unchanged.
There is no return value reserved to indicate an error.
In order for toupper to give the expected results, __isascii and islower must both return nonzero.
Remarks
Each of these routines converts a given lowercase letter to an uppercase letter if possible and appropriate. The case conversion of towupper 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 with 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 toupper 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 |
|---|---|---|---|
_totupper |
toupper |
_mbctoupper |
towupper |
_totupper_l |
_toupper_l |
_mbctoupper_l |
_towupper_l |
Note
_toupper_l and _towupper_l have no locale dependence and are not meant to be called directly. They are provided for internal use by _totupper_l.
Requirements
| Routine | Required header |
|---|---|
toupper |
<ctype.h> |
_toupper |
<ctype.h> |
towupper |
<ctype.h> or <wchar.h> |
For additional compatibility information, see Compatibility in the Introduction.
Example
See the example in to Functions.
.NET Framework Equivalent
See Also
is, isw Routines
to Functions
Locale
Interpretation of Multibyte-Character Sequences