tolower - cppreference.com (original) (raw)

| | | | | ---------------------- | | | | int tolower( int ch ); | | |

Converts the given character to lowercase according to the character conversion rules defined by the currently installed C locale.

In the default "C" locale, the following uppercase letters ABCDEFGHIJKLMNOPQRSTUVWXYZ are replaced with respective lowercase letters abcdefghijklmnopqrstuvwxyz.

[edit] Parameters

ch - character to be converted. If the value of ch is not representable as unsigned char and does not equal EOF, the behavior is undefined.

[edit] Return value

Lowercase version of ch or unmodified ch if no lowercase version is listed in the current C locale.

[edit] Example

#include <ctype.h> #include <limits.h> #include <locale.h> #include <stdio.h>   int main(void) { // In the default locale for (unsigned char u = 0; u < UCHAR_MAX; u++) { unsigned char l = tolower(u); if (l != u) printf("%c%c ", u, l); } printf("\n\n");   unsigned char c = '\xb4'; // the character Ž in ISO-8859-15 // but ´ (acute accent) in ISO-8859-1 setlocale(LC_ALL, "en_US.iso88591"); printf("in iso8859-1, tolower('0x%x') gives 0x%x\n", c, tolower(c)); setlocale(LC_ALL, "en_US.iso885915"); printf("in iso8859-15, tolower('0x%x') gives 0x%x\n", c, tolower(c)); }

Possible output:

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz   in iso8859-1, tolower('0xb4') gives 0xb4 in iso8859-15, tolower('0xb4') gives 0xb8

[edit] References

[edit] See also