std::towctrans
From cppreference.com
| ヘッダ <cwctype> で定義 |
||
| std::wint_t towctrans( std::wint_t ch, std::wctrans_t desc ); |
||
現在のCロケールのLC_CTYPEマッピングカテゴリによって識別される desc を使用して、ワイド文字 ch をマッピングします。
ch の値が wchar_t として表現可能でもなく、マクロ WEOF の値と等しくもない場合、動作は未定義です。
目次 |
[edit] パラメータ
| 文字 | - | マッピングするワイド文字 |
| desc | - | std::wctrans の呼び出しから取得したLC_CTYPEマッピング |
[edit] 戻り値
現在のCロケールのLC_CTYPEフェイスにおいて、desc によって識別されるマッピングを使用した ch のマッピングされた値。
[edit] 例
以下の例は、カタカナからひらがなへの文字マッピングを示しています。
このコードを実行
#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
[edit] 関連項目
| 現在のCロケールで文字マッピングカテゴリを検索する (関数) | |
| C言語のドキュメント (towctrans)
| |