TOWUPPER(3) Linux Programmer's Manual TOWUPPER(3)NAME
towupper, towupper_l - convert a wide character to uppercase
wint_t towupper(wint_t wc);
wint_t towupper_l(wint_t wc, locale_t locale);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
Since glibc 2.10:
_XOPEN_SOURCE >= 700
Before glibc 2.10:
The towupper() function is the wide-character equivalent of the toup‐
per(3) function. If wc is a lowercase wide character, and there exists
an uppercase equivalent in the current locale, it returns the uppercase
equivalent of wc. In all other cases, wc is returned unchanged.
The towupper_l() function performs the same task, but performs the con‐
version based on the character type information in the locale specified
by locale. The behavior of towupper_l() is undefined if locale is the
special locale object LC_GLOBAL_LOCALE (see duplocale(3)) or is not a
valid locale object handle.
The argument wc must be representable as a wchar_t and be a valid char‐
acter in the locale or be the value WEOF.
If wc was convertible to uppercase, towupper() returns its uppercase
equivalent; otherwise it returns wc.
Multithreading (see pthreads(7))
The towupper() function is thread-safe with exceptions. It can be
safely used in multithreaded applications, as long as setlocale(3) is
not called to change the locale during its execution.
The towupper_l() function first appeared in glibc 2.3.
CONFORMING TOtowupper(): C99, POSIX.1-2001 (XSI); present as an XSI extension in
POSIX.1-2008, but marked obsolete.
The behavior of these functions depends on the LC_CTYPE category of the
These functions are not very appropriate for dealing with Unicode char‐
acters, because Unicode knows about three cases: upper, lower and title
SEE ALSOiswupper(3), towctrans(3), towlower(3), locale(7)COLOPHON
This page is part of release 3.65 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2014-03-18 TOWUPPER(3)