'\" t .\" and Copyright (C) 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" 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 .\" .TH towupper 3 2023-07-20 "Linux man-pages 6.05.01" .SH NAME towupper, towupper_l \- convert a wide character to uppercase .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .PP .BI "wint_t towupper(wint_t " wc ); .BI "wint_t towupper_l(wint_t " wc ", locale_t " locale ); .fi .PP .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .PP .BR towupper_l (): .nf Since glibc 2.10: _XOPEN_SOURCE >= 700 Before glibc 2.10: _GNU_SOURCE .fi .SH DESCRIPTION The .BR towupper () function is the wide-character equivalent of the .BR toupper (3) function. If .I wc is a lowercase wide character, and there exists an uppercase equivalent in the current locale, it returns the uppercase equivalent of .IR wc . In all other cases, .I wc is returned unchanged. .PP The .BR towupper_l () function performs the same task, but performs the conversion based on the character type information in the locale specified by .IR locale . The behavior of .BR towupper_l () is undefined if .I locale is the special locale object .B LC_GLOBAL_LOCALE (see .BR duplocale (3)) or is not a valid locale object handle. .PP The argument .I wc must be representable as a .I wchar_t and be a valid character in the locale or be the value .BR WEOF . .SH RETURN VALUE If .I wc was convertible to uppercase, .BR towupper () returns its uppercase equivalent; otherwise it returns .IR wc . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR towupper () T} Thread safety MT-Safe locale T{ .na .nh .BR towupper_l () T} Thread safety MT-Safe .TE .sp 1 .SH STANDARDS .TP .BR towupper () C11, POSIX.1-2008 (XSI). .TP .BR towupper_l () POSIX.1-2008. .SH HISTORY .TP .BR towupper () C99, POSIX.1-2001 (XSI). Obsolete in POSIX.1-2008 (XSI). .TP .BR towupper_l () POSIX.1-2008. glibc 2.3. .SH NOTES The behavior of these functions depends on the .B LC_CTYPE category of the locale. .PP These functions are not very appropriate for dealing with Unicode characters, because Unicode knows about three cases: upper, lower, and title case. .SH SEE ALSO .BR iswupper (3), .BR towctrans (3), .BR towlower (3), .BR locale (7)