table of contents
std::towctrans(3) | C++ Standard Libary | std::towctrans(3) |
NAME¶
std::towctrans - std::towctrans
Synopsis¶
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.
Parameters¶
ch - the wide character to map
desc - the LC_CTYPE mapping, obtained from a call to std::wctrans
Return value¶
The mapped value of ch using the mapping identified by desc in
LC_CTYPE facet of the
current C locale.
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
See also¶
wctrans looks up a character mapping category in the current C
locale
(function)
C documentation for
towctrans
2024.06.10 | http://cppreference.com |