std::towctrans
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <cwctype> で定義
|
||
std::wint_t towctrans( std::wint_t wc, std::wctrans_t desc ); |
||
desc の表す現在の C のロケールの LC_CTYPE マッピングカテゴリを使用してワイド文字 wc をマップします。
ch の値が wchar_t として表現可能でなくマクロ WEOF の値と等しくもなければ、動作は未定義です。
引数
| ch | - | マップするワイド文字 |
| desc | - | std::wctrans の呼び出しから取得した LC_CTYPE マッピング |
戻り値
現在の C のロケールの LC_CTYPE ファセットの desc で表されるマッピングを使用した ch のマップされた値。
例
以下の例は片仮名から平仮名への文字マッピングをデモンストレーションします。
Run this code
#include <clocale>
#include <cwctype>
#include <iostream>
#include <algorithm>
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のロケールで文字マッピングカテゴリを検索します (関数) | |
towctrans の C言語リファレンス
| |