|TOWLOWER(3)||Linux Programmer's Manual||TOWLOWER(3)|
NAME¶towlower, towlower_l - convert a wide character to lowercase
#include <wctype.h> wint_t towlower(wint_t wc); wint_t towlower_l(wint_t wc, locale_t locale);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
- Since glibc 2.10:
- _XOPEN_SOURCE >= 700
- Before glibc 2.10:
DESCRIPTION¶The towlower() function is the wide-character equivalent of the tolower(3) function. If wc is an uppercase wide character, and there exists a lowercase equivalent in the current locale, it returns the lowercase 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 behavior 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 lowercase, towlower() returns its lowercase equivalent; otherwise it returns wc.
Multithreading (see pthreads(7))¶The towlower() function is thread-safe with exceptions. It can be safely used in multithreaded applications, as long as setlocale(3) is not called to change the locale during its execution.
VERSIONS¶The towlower_l() function first appeared in glibc 2.3.
CONFORMING TO¶towlower(): C99, POSIX.1-2001 (XSI); present as an XSI extension in POSIX.1-2008, but marked obsolete. towlower_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¶iswlower(3), towctrans(3), towupper(3), locale(7)
COLOPHON¶This page is part of release 3.74 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.