TOLOWER(3) | Library Functions Manual | 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 ANSI X3.159-1989 (“ANSI C89”), and `tolower_l`() to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `tolower`() function first appeared in Version 7 AT&T UNIX and acquired the current semantics in AT&T System III UNIX, 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.

September 11, 2022 | Debian