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);
 
[Note] Note
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.11 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/.


  and Copyright (C) 2014 Michael Kerrisk <mtk.manpagesgmail.com>

%%%LICENSE_START(GPLv2+_DOC_ONEPARA)
This is free documentation; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
%%%LICENSE_END

References consulted:
  GNU glibc-2 source code and manual
  Dinkumware C library reference http://www.dinkumware.com/
  OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
  ISO/IEC 9899:1999