Spec-Zone.ru › C++

std::towlower

Определён в заголовочном файле <cwctype>
std::wint_t towlower( std::wint_t ch );

Преобразует заданный широкий символ в строчную букву, если это возможно.

Если значение ch не представимо как wchar_t и не равно значению макроса WEOF, поведение не определено.

Параметры

ch - широкий символ для преобразования

Возвращаемое значение

Строчная версия ch или неизменённое значение ch, если в текущей локали C не указана строчная версия.

Примечания

Эта функция может выполнять только взаимно-однозначное сопоставление символов. Например, греческая заглавная буква 'Σ' имеет две строчные формы в зависимости от положения в слове: 'σ' и 'ς'. В этом случае вызов std::towlower не позволит получить правильную строчную форму.

ISO 30112 определяет, какие пары символов Unicode включаются в это сопоставление.

Пример

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

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

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

Вывод:

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

См. также

towupper
преобразует широкий символ в заглавную букву
(функция)
tolower(std::locale)
преобразует символ в строчную букву с помощью аспекта ctype локали
(шаблон функции)
tolower
преобразует символ в строчную букву
(функция)
Документация C для towlower

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/wide/towlower

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API