Namespaces
Variants

std:: towctrans

From cppreference.net
Défini dans l'en-tête <cwctype>

Mappe le caractère étendu ch en utilisant la catégorie de mappage LC_CTYPE de la locale C actuelle, identifiée par desc .

Si la valeur de ch n'est ni représentable comme un wchar_t ni égale à la valeur de la macro WEOF , le comportement est indéfini.

Table des matières

Paramètres

ch - le caractère large à mapper
desc - le mappage LC_CTYPE , obtenu par un appel à std::wctrans

Valeur de retour

La valeur mappée de ch en utilisant le mappage identifié par desc dans la facette LC_CTYPE de la locale C actuelle.

Exemple

L'exemple suivant démontre la correspondance des caractères katakana vers 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";
}

Sortie :

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

Voir aussi

recherche une catégorie de mappage de caractères dans les paramètres régionaux C actuels
(fonction)
Documentation C pour towctrans