towlower, towlower_l - transliterate uppercase wide-character code to lowercase
wint_t towlower(wint_t wc);
[CX] wint_t towlower_l(wint_t wc, locale_t locale);
For towlower(): [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-2017 defers to the ISO C standard.
The towlower() [CX] and towlower_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 locale used by the function or the value of WEOF. If the argument has any other value, the behavior is undefined. If the argument of towlower() [CX] or towlower_l() represents an uppercase wide-character code, and there exists a corresponding lowercase wide-character code as defined by character type information in the current locale [CX] or in the locale represented by locale, respectively (category LC_CTYPE), the result shall be the corresponding lowercase wide-character code. All other arguments in the domain are returned unchanged.
[CX] The behavior is undefined if the locale argument to towlower_l() is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle.
Upon successful completion, the towlower() [CX] and towlower_l() functions shall return the lowercase letter corresponding to the argument passed; otherwise, they shall return the argument unchanged.
No errors are defined.
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 towlower_l() function is added from The Open Group Technical Standard, 2006, Extended API Set Part 4.
POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0678 , XSH/TC1-2008/0679 , and XSH/TC1-2008/0680  are applied.
POSIX.1-2008, Technical Corrigendum 2, XSH/TC2-2008/0373  is applied.
return to top of page