Namespaces
Variants

std:: towctrans

From cppreference.net
Definiert im Header <cwctype>

Ordnet das Breitzeichen ch unter Verwendung der LC_CTYPE -Zuordnungskategorie der aktuellen C-Lokalisierung zu, die durch desc identifiziert wird.

Wenn der Wert von ch weder als wchar_t darstellbar ist noch gleich dem Wert des Makros WEOF , ist das Verhalten undefiniert.

Inhaltsverzeichnis

Parameter

ch - das Breitzeichen, das abgebildet werden soll
desc - die LC_CTYPE Abbildung, erhalten durch einen Aufruf von std::wctrans

Rückgabewert

Der gemappte Wert von ch unter Verwendung der durch desc identifizierten Abbildung in der LC_CTYPE Kategorie des aktuellen C-Locale.

Beispiel

Das folgende Beispiel demonstriert die Zeichenabbildung von Katakana zu 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";
}

Ausgabe:

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

Siehe auch

sucht eine Zeichenabbildungskategorie in der aktuellen C-Lokalisierung
(Funktion)
C-Dokumentation für towctrans