NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ATTRIBUTES |STANDARDS |HISTORY |NOTES |SEE ALSO |COLOPHON | |
towupper(3) Library Functions Manualtowupper(3)towupper, towupper_l - convert a wide character to uppercase
Standard C library (libc,-lc)
#include <wctype.h>wint_t towupper(wint_twc);wint_t towupper_l(wint_twc, locale_tlocale); Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):towupper_l(): Since glibc 2.10: _XOPEN_SOURCE >= 700 Before glibc 2.10: _GNU_SOURCE
Thetowupper() function is the wide-character equivalent of thetoupper(3) function. Ifwc is a lowercase wide character, and there exists an uppercase equivalent in the current locale, it returns the uppercase equivalent ofwc. In all other cases,wc is returned unchanged. Thetowupper_l() function performs the same task, but performs the conversion based on the character type information in the locale specified bylocale. The behavior oftowupper_l() is undefined iflocale is the special locale objectLC_GLOBAL_LOCALE(seeduplocale(3)) or is not a valid locale object handle. The argumentwc must be representable as awchar_t and be a valid character in the locale or be the valueWEOF.
Ifwc was convertible to uppercase,towupper() returns its uppercase equivalent; otherwise it returnswc.
For an explanation of the terms used in this section, seeattributes(7). ┌───────────────────────────────┬───────────────┬────────────────┐ │Interface│Attribute│Value│ ├───────────────────────────────┼───────────────┼────────────────┤ │towupper() │ Thread safety │ MT-Safe locale │ ├───────────────────────────────┼───────────────┼────────────────┤ │towupper_l() │ Thread safety │ MT-Safe │ └───────────────────────────────┴───────────────┴────────────────┘
towupper() C11, POSIX.1-2008 (XSI).towupper_l() POSIX.1-2008.
towupper() C99, POSIX.1-2001 (XSI). Obsolete in POSIX.1-2008 (XSI).towupper_l() POSIX.1-2008. glibc 2.3.
The behavior of these functions depends on theLC_CTYPEcategory 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.
iswupper(3),towctrans(3),towlower(3),locale(7)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-05-17towupper(3)Pages that refer to this page:iswupper(3), toupper(3), towctrans(3), towlower(3), wcscasecmp(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |