Namespaces
Variants

std:: towupper

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

Convertit le caractère large donné en majuscule, si possible.

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 - caractère large à convertir

Valeur de retour

Version en majuscule de ch ou ch non modifié si aucune version majuscule n'est répertoriée dans les paramètres régionaux C actuels.

Notes

Seule une correspondance de caractères 1:1 peut être effectuée par cette fonction, par exemple la forme majuscule de 'ß' est (avec quelques exceptions) la chaîne de deux caractères "SS" , qui ne peut pas être obtenue par std::towupper .

ISO 30112 spécifie quelles paires de caractères Unicode sont incluses dans cette correspondance.

Exemple

La lettre latine 'ſ' (U+017F) est la forme minuscule alternative de 'S' (U+0053).

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

Sortie :

in the default locale, towupper(0x17f) = 0x17f
in Unicode locale, towupper(0x17f) = 0x53

Voir aussi

convertit un caractère large en minuscule
(fonction)
convertit un caractère en majuscule en utilisant la facette ctype d'une locale
(modèle de fonction)
convertit un caractère en majuscule
(fonction)
Documentation C pour towupper