std::towctrans
Материал из cppreference.com
<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 (функция) | |
Документация C по towctrans
| |