towlower, towlower_l — transliterate uppercase wide-character code to lowercase
#include <wctype.h>
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-2024 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.
None.
None.
None.
None.
XBD 7. 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 SYNOPSIS has been changed to indicate that this function and associated data types are now made visible by inclusion of the <wctype.h> header rather than <wchar.h>.
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 [302], XSH/TC1-2008/0679 [283], and XSH/TC1-2008/0680 [283] are applied.
POSIX.1-2008, Technical Corrigendum 2, XSH/TC2-2008/0373 [685] is applied.
return to top of page