std::towctrans
Определено в заголовке <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 << "katakana characters " << kana
<< " are " << tohira(kana) << " in hiragana\n";
}Вывод:
katakana characters ヒラガナ are ひらがな in hiragana
См. также
| ищет категорию отображения символов в текущей локали C (функция) |
|
C документация для towctrans |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/wide/towctrans