TOWUPPER
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Page Index
NAME
towupper, towupper_l - convert a wide character to uppercase
SYNOPSIS
#include <wctype.h>
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)):
towupper_l():
-
- Since glibc 2.10:
-
_XOPEN_SOURCE >= 700
- Before glibc 2.10:
-
_GNU_SOURCE
DESCRIPTION
The
towupper()
function is the wide-character equivalent of the
toupper(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 conversion 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 character in the locale or be the value
WEOF.
RETURN VALUE
If
wc
was convertible to uppercase,
towupper()
returns its uppercase equivalent;
otherwise it returns
wc.
VERSIONS
The
towupper_l()
function first appeared in glibc 2.3.
ATTRIBUTES
For an explanation of the terms used in this section, see
attributes(7).
Interface | Attribute | Value
|
towupper()
| Thread safety | MT-Safe locale
|
towupper_l()
| Thread safety | MT-Safe
|
CONFORMING TO
towupper():
C99, POSIX.1-2001 (XSI);
present as an XSI extension in POSIX.1-2008, but marked obsolete.
towupper_l():
POSIX.1-2008.
NOTES
The behavior of these functions depends on the
LC_CTYPE
category of the locale.
These functions are not very appropriate for dealing with Unicode characters,
because Unicode knows about three cases: upper, lower and title case.
SEE ALSO
iswupper(3),
towctrans(3),
towlower(3),
locale(7)
COLOPHON
This page is part of release 5.10 of the Linux
man-pages
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
https://www.kernel.org/doc/man-pages/.