close
Пространства имён
Варианты
Действия

std::towctrans

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<tbody> </tbody>
Определено в заголовочном файле <cwctype>
std::wint_t towctrans( std::wint_t ch, std::wctrans_t desc );

Сопоставляет широкий символ ch с использованием категории отображения LC_CTYPE текущей локали C, идентифицируемой desc.

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

Параметры

ch широкий символ для отображения
desc отображение LC_CTYPE, полученное в результате вызова std::wctrans

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

Сопоставленное значение ch с использованием сопоставления, определенного desc в фасете LC_CTYPE текущей локали C.

Пример

В следующем примере показано сопоставление символов катаканы и хираганы.

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

std::wstring tohira(std::wstring str)
{
    std::transform(str.begin(), str.end(), str.begin(), [](wchar_t c)
    {
         return std::towctrans(c, std::wctrans("tojhira"));
    });
    return str;
}

int main()
{
    std::setlocale(LC_ALL, "ja_JP.UTF-8");
    std::wstring kana = L"ヒラガナ";
    std::wcout << L"символы катаканы " << kana
               << L" это " << tohira(kana) << L" в хирагане\n";
}

Вывод:

символы катаканы ヒラガナ это ひらがな в хирагане

Смотрите также

ищет категорию сопоставления символов в текущей локали C
(функция) [править]