std::towctrans
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Text processing library 
 
 
 
 
 
 
 
 
 Regular expressions library (C++11)
 Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Null-terminated wide strings 
  
 
 
 
 
(C++11)
  (C++11)(C++11)
Defined in header 
 
 
<cwctype> 
 std::wint_t towctrans( std::wint_t ch, std::wctrans_t desc );
 
 
Maps the wide character ch using the current C locale's LC_CTYPE mapping category identified by desc.
If the value of ch is neither representable as a wchar_t nor equal to the value of the macro WEOF, the behavior is undefined.
Contents
[edit] Parameters
 ch
 -
 the wide character to map
 desc
 -
 the LC_CTYPE  mapping, obtained from a call to std::wctrans 
[edit] Return value
The mapped value of ch using the mapping identified by desc in LC_CTYPE facet of the current C locale.
[edit] Example
The following example demonstrates katakana to hiragana character mapping.
Run this code
#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"; }
Output:
katakana characters ヒラガナ are ひらがな in hiragana
[edit] See also
C documentation  for towctrans