std::towctrans
来自 cppreference.cn
定义于头文件 <cwctype> |
||
std::wint_t towctrans( std::wint_t ch, std::wctrans_t desc ); |
||
使用当前 C 语言环境的 LC_CTYPE 映射类别(由 desc 标识)映射宽字符 ch。
如果 ch 的值既不能表示为 wchar_t,也不等于宏 WEOF 的值,则行为未定义。
目录 |
[编辑] 参数
ch | - | 要映射的宽字符 |
desc | - | LC_CTYPE 映射,从调用 std::wctrans 获得 |
[编辑] 返回值
使用当前 C 语言环境的 LC_CTYPE facet 中由 desc 标识的映射,ch 的映射值。
[编辑] 示例
以下示例演示了片假名到平假名的字符映射。
运行此代码
#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
[编辑] 参见
wctrans (函数) | |