TOLOWER(3)

NAME
tolower, tolower_l, _tolower - upper case to lower case letter conversion

SYNOPSIS
#include <ctype.h>
int
tolower(int c);
int
tolower_l(int c, locale_t locale);
int
_tolower(int c);

DESCRIPTION
The tolower() and tolower_l() functions convert an upper-case letter to the corresponding lower-case letter. The _tolower() function is identical to tolower() except that c must be an upper-case letter.

OpenBSD always uses the C locale for these functions, ignoring the global locale, the thread-specific locale, and the locale argument.

RETURN VALUES
If the argument to the tolower() or tolower_l() function is an upper-case letter, the corresponding lower-case letter is returned if there is one; otherwise the argument is returned unchanged. If the argument to the _tolower() function is an upper-case letter, the corresponding lower-case letter is returned; otherwise the output is undefined.

ENVIRONMENT
On systems supporting non-ASCII single-byte character encodings, the results of tolower() and _tolower() may depend on the LC_CTYPE locale(1).

SEE ALSO
isalnum(3), isalpha(3), isascii(3), isblank(3), iscntrl(3), isdigit(3), isgraph(3), islower(3), isprint(3), ispunct(3), isspace(3), isupper(3), isxdigit(3), stdio(3), toascii(3), toupper(3), towlower(3), ascii(7)

STANDARDS
The tolower() and _tolower() functions conform to ansiC, and tolower_l() to p1003.1-2008.

HISTORY
The tolower() function first appeared in AT&T UNIX and acquired the current semantics in AT&T UNIX III, where _tolower() first appeared.

The tolower_l() function has been available since OpenBSD 6.2.

CAVEATS
The argument c must be EOF or representable as an unsigned char; otherwise, the result is undefined.