Internationalization and localization tools


Character Manipulation Function

int toupper(int c);

int _toupper(int c);

int towupper(wint_t c);

unsigned int _mbctoupper(unsigned int c);

_TINT _totupper(_TINT c);

Internationalization (I18n) Function Overview

The functions toupper and _toupper convert a character to an uppercase character (if it is a lowercase character).

towupper is the wide character equivalent, testing and converting a wide character.

On Windows platforms only, use _mbctoupper for the multibyte equivalent.

_totupper is the Windows-only Generic version of the function; with the _MBCS or _UNICODE compiler flags determining its mapping to either _mbctoupper or towupper.

I18n Issues

Use the appropriate version of the function as required for internationalization support, noting the following:

On ANSI platforms, there is no multibyte version of toupper. Instead, convert the multibyte character to a wide character and call towupper.

Prior to calling towupper, ensure that the locale is set correctly, since the function depends on the locale's LC_CTYPE category setting.

The _mbctoupper function depends on the multibyte code page in effect. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. Use _getmbcp and _setmbcp to query or change the current multibyte code page, respectively.

Recommended Replacements*

*If you're already using the recommended function, see I18n Issues for other reasons why Globalyzer is detecting the function.

Character Manipulation Functions

 

Lingoport internationalization and localization services and software