std::towupper
Von cppreference.com
| Definiert in Header <cwctype> |
||
| std::wint_t towupper( std::wint_t ch ); |
||
Konvertiert das gegebene breite Zeichen in Großbuchstaben, falls möglich.
Wenn der Wert von ch weder als wchar_t darstellbar ist noch gleich dem Wert des Makros WEOF ist, ist das Verhalten undefiniert.
Inhalt |
[bearbeiten] Parameter
| ch | - | zu konvertierendes breites Zeichen |
[bearbeiten] Rückgabewert
Großbuchstaben-Version von ch oder unverändertes ch, wenn keine Großbuchstaben-Version in der aktuellen C-Locale aufgeführt ist.
[bearbeiten] Hinweise
Nur 1:1-Zeichenzuordnungen können von dieser Funktion durchgeführt werden, z. B. ist die Großbuchstabenform von 'ß' (mit einigen Ausnahmen) der zweistellige String "SS", was nicht mit std::towupper erreicht werden kann.
ISO 30112 legt fest, welche Paare von Unicode-Zeichen in diese Zuordnung einbezogen werden.
[bearbeiten] Beispiel
Der lateinische Buchstabe 'ſ' (U+017F) ist die alternative Kleinbuchstabenform von 'S' (U+0053).
Führen Sie diesen Code aus
#include <clocale> #include <cwctype> #include <iostream> int main() { wchar_t c = L'\u017f'; // Latin small letter Long S ('ſ') std::cout << std::hex << std::showbase; std::cout << "in the default locale, towupper(" << static_cast<std::wint_t>(c) << ") = " << std::towupper(c) << '\n'; std::setlocale(LC_ALL, "en_US.utf8"); std::cout << "in Unicode locale, towupper(" << static_cast<std::wint_t>(c) << ") = " << std::towupper(c) << '\n'; }
Ausgabe
in the default locale, towupper(0x17f) = 0x17f in Unicode locale, towupper(0x17f) = 0x53
[bearbeiten] Siehe auch
| wandelt ein breites Zeichen in Kleinbuchstaben um (Funktion) | |
| konvertiert ein Zeichen mit dem ctype-Facet einer Locale in Großbuchstaben (Funktionstemplate) | |
| konvertiert ein Zeichen in Großbuchstaben (Funktion) | |
| C-Dokumentation für towupper
| |