std::towlower
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <cwctype>
|
||
std::wint_t towlower( std::wint_t ch ); |
||
Преобразует заданный широкий символ в нижний регистр, если это возможно.
Если значение ch не может быть представлено как wchar_t и не равно значению макроса WEOF, поведение неопределено.
Параметры
| ch | — | широкий символ для преобразования |
Возвращаемое значение
Версия ch в нижнем регистре или неизменённая версия ch, если в текущей локали C не указана версия в нижнем регистре.
Примечание
С помощью этой функции можно выполнить только сопоставление символов 1:1, например, греческая прописная буква 'Σ' имеет две строчные формы, в зависимости от позиции в слове: 'σ' и 'ς'. В этом случае вызов std::towlower не может быть использован для получения правильной строчной буквы.
ISO 30112 определяет, какие пары символов Юникода включены в это сопоставление.
Пример
Запустить этот код
#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
wchar_t c = L'\u0190'; // Латинская заглавная буква E ('Ɛ')
std::cout << std::hex << std::showbase;
std::cout << "в локали по умолчанию, towlower("
<< static_cast<std::wint_t>(c) << ") = "
<< std::towlower(c) << '\n';
std::setlocale(LC_ALL, "en_US.utf8");
std::cout << "в локали Юникода, towlower("
<< static_cast<std::wint_t>(c) << ") = "
<< std::towlower(c) << '\n';
}
Вывод:
в локали по умолчанию, towlower(0x190) = 0x190
в локали Юникода, towlower(0x190) = 0x25b
Смотрите также
| преобразует широкий символ в верхний регистр (функция) | |
| преобразует символ в нижний регистр, используя фасет ctype локали (шаблон функции) | |
| преобразует символ в нижний регистр (функция) | |
Документация C по towlower
| |