##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::towlower

From cppreference.com
< cpp‎ | string‎ | wide

Defined in header `<cwctype>` |  |
std::wint_t towlower( std::wint_t ch ); |  |

Converts the given wide character to lowercase, if possible.

### [edit] Parameters

ch | - | wide character to be converted

### [edit] Return value

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

### [edit] Notes

Only 1:1 character mapping can be performed by this function, e.g. the Greek uppercase letter 'Σ' has two lowercase forms, depending on the position in a word: 'σ' and 'ς'. A call to std::towlower cannot be used to obtain the correct lowercase form in this case.

### [edit] Example

Run this code

    #include <iostream>
    #include <cwctype>
    #include <clocale>

    int main()
    {
        wchar_t c = L'\u0190'; // Latin capital open E ('Ɛ')

        std::cout << std::hex << std::showbase;
        std::cout << "in the default locale, towlower(" << (std::wint_t)c << ") = "
                  << std::towlower(c) << '\n';
        std::setlocale(LC_ALL, "en_US.utf8");
        std::cout << "in Unicode locale, towlower(" << (std::wint_t)c << ") = "
                  << std::towlower(c) << '\n';
    }

Output:

    in the default locale, towlower(0x190) = 0x190
    in Unicode locale, towlower(0x190) = 0x25b

### [edit] See also

towupper | converts a wide character to uppercase (function) [edit]
tolower(std::locale) | converts a character to lowercase using the ctype facet of a locale (function template) [edit]
tolower | converts a character to lowercase (function) [edit]
C documentation for towlower

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/string/wide/towlower&oldid=59107"