Next: , Previous: , Up: Ctype   [Contents][Index]


3.14 tolower, tolower_l—translate characters to lowercase

Synopsis

#include <ctype.h>
int tolower(int c);
int _tolower(int c);

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

Description
tolower is a macro which converts uppercase characters to lowercase, leaving all other characters unchanged. It is only defined when c is an integer in the range EOF to 255.

tolower_l is like tolower but performs the function based on the locale specified by the locale object locale. If locale is LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.

You can use a compiled subroutine instead of the macro definition by undefining this macro using ‘#undef tolower’ or ‘#undef tolower_l’.

_tolower performs the same conversion as tolower, but should only be used when c is known to be an uppercase character (AZ).


Returns
tolower, tolower_l return the lowercase equivalent of c when c is an uppercase character, and c otherwise.

_tolower returns the lowercase equivalent of c when it is a character between A and Z. If c is not one of these characters, the behaviour of _tolower is undefined.


Portability
tolower is ANSI C. _tolower is not recommended for portable programs. tolower_l is POSIX-1.2008.

No supporting OS subroutines are required.