Namespaces
Variants

std:: towctrans

From cppreference.net
Definido en el encabezado <cwctype>

Mapea el carácter ancho ch utilizando la categoría de mapeo LC_CTYPE de la configuración regional actual de C identificada por desc .

Si el valor de ch no es representable como un wchar_t ni igual al valor de la macro WEOF , el comportamiento es indefinido.

Contenidos

Parámetros

ch - el carácter ancho a mapear
desc - el mapeo LC_CTYPE , obtenido de una llamada a std::wctrans

Valor de retorno

El valor mapeado de ch utilizando el mapeo identificado por desc en la faceta LC_CTYPE de la configuración regional actual de C.

Ejemplo

El siguiente ejemplo demuestra el mapeo de caracteres de katakana a hiragana.

#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";
}

Salida:

katakana characters ヒラガナ are ひらがな in hiragana

Véase también

busca una categoría de mapeo de caracteres en la configuración regional C actual
(función)
Documentación C para towctrans