std::tolower(std::locale)
Определено в заголовке <locale> |
||
|---|---|---|
template< class CharT > CharT tolower( CharT ch, const locale& loc ); |
Преобразует символ ch в строчные буквы, если это возможно, используя правила преобразования, определённые в элементе std::ctype заданного набора локализации.
Параметры
| ch | - | символ |
| loc | - | набор локализации |
Возвращаемое значение
Возвращает строчную форму ch , если она указана в наборе локализации, в противном случае возвращает ch без изменений.
Примечания
Данная функция может выполнять только отображение символов 1:1, например, греческая прописная буква 'Σ' имеет две строчные формы, зависящие от позиции в слове: 'σ' и 'ς'. Вызов std::tolower не может быть использован для получения правильной строчной формы в этом случае.
Возможная реализация
template<class CharT>
CharT tolower(CharT ch, const std::locale& loc)
{
return std::use_facet<std::ctype<CharT>>(loc).tolower(ch);
} |
Пример
#include <cwctype>
#include <iostream>
#include <locale>
int main()
{
wchar_t c = L'\u0190'; // Latin capital open E ('Ɛ')
std::cout << std::hex << std::showbase;
std::cout << "in the default locale, tolower(" << (std::wint_t)c << ") = "
<< (std::wint_t)std::tolower(c, std::locale()) << '\n';
std::cout << "in Unicode locale, tolower(" << (std::wint_t)c << ") = "
<< (std::wint_t)std::tolower(c, std::locale("en_US.utf8")) << '\n';
}Возможный вывод:
in the default locale, tolower(0x190) = 0x190 in Unicode locale, tolower(0x190) = 0x25b
См. также
| преобразует символ в прописные буквы, используя элемент ctype набора локализации (шаблон функции) |
|
| преобразует символ в строчные буквы (функция) |
|
| преобразует символ в строчные буквы (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/tolower