towupper, towupper_l - transliterate lowercase wide-character code to uppercase
wint_t towupper(wint_t wc);
[CX] wint_t towupper_l(wint_t wc, locale_t locale);
For towupper(): [CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2008 defers to the ISO C standard.
The towupper() [CX] and towupper_l() functions have as a domain a type wint_t, the value of which the application shall ensure is a character representable as a wchar_t, and a wide-character code corresponding to a valid character in the current locale or the value of WEOF. If the argument has any other value, the behavior is undefined. If the argument of towupper() [CX] or towupper_l() represents a lowercase wide-character code, and there exists a corresponding uppercase wide-character code as defined by character type information in the locale of the process [CX] or in the locale represented by locale, respectively (category LC_CTYPE ), the result shall be the corresponding uppercase wide-character code. All other arguments in the domain are returned unchanged.
Upon successful completion, the towupper() [CX] and towupper_l() functions shall return the uppercase letter corresponding to the argument passed. Otherwise, they shall return the argument unchanged.
The towupper_l() function may fail if:
- [CX] locale is not a valid locale object handle.
setlocale , uselocale
XBD Locale , <locale.h> , <wctype.h>
First released in Issue 4.
The following change has been made in this version for alignment with ISO/IEC 9899:1990/Amendment 1:1995 (E):
The normative text is updated to avoid use of the term "must" for application requirements.
The towupper_l() function is added from The Open Group Technical Standard, 2006, Extended API Set Part 4.
return to top of page