TOWUPPER(3) Linux Programmer's Manual TOWUPPER(3) 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 equiva‐ lent 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 be‐ havior 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) GNU 2021-03-22 TOWUPPER(3)