std::ctype::tolower, std::ctype::do_tolower
From cppreference.com
Defined in header <locale>
|
||
public: CharT tolower( CharT c ) const; |
(1) | |
public: const CharT* tolower( CharT* beg, const CharT* end ) const; |
(2) | |
protected: virtual CharT do_tolower( CharT c ) const; |
(3) | |
protected: virtual const CharT* do_tolower( CharT* beg, const CharT* end ) const; |
(4) | |
1,2) public member function, calls the protected virtual member function
do_tolower
of the most derived class.3) Converts the character
c
to lower case if a lower case form is defined by this locale.4) For every character in the character array
[beg, end)
, for which a lower case form exists, replaces the character with that lower case form.Parameters
c | - | character to convert |
beg | - | pointer to the first character in an array of characters to convert |
end | - | one past the end pointer for the array of characters to convert |
Return value
1,3) lower case character or
c
if no lower case form is listed by this locale.2,4)
end
.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 do_tolower
cannot be used to obtain the correct lowercase form in this case.
Example
Run this code
#include <locale> #include <iostream> void try_lower(const std::ctype<wchar_t>& f, wchar_t c) { wchar_t up = f.tolower(c); if (up != c) { std::wcout << "Lower case form of \'" << c << "' is " << up << '\n'; } else { std::wcout << '\'' << c << "' has no lower case form\n"; } } int main() { std::locale::global(std::locale("en_US.utf8")); std::wcout.imbue(std::locale()); std::wcout << "In US English UTF-8 locale:\n"; auto& f = std::use_facet<std::ctype<wchar_t>>(std::locale()); try_lower(f, L''); try_lower(f, L''); try_lower(f, L''); std::wstring str = L"HELLo, wORLD!"; std::wcout << "Lowercase form of the string '" << str << "' is "; f.tolower(&str[0], &str[0] + str.size()); std::wcout << "'" << str << "'\n"; }
Output:
In US English UTF-8 locale: Lower case form of '' is Lower case form of '' is Lower case form of '' is Lowercase form of the string 'HELLo, wORLD!' is 'hello, world!'
See also
invokes do_toupper (public member function) | |
converts a character to lowercase (function) | |
converts a wide character to lowercase (function) |