Namespaces
Variants

std:: isupper (std::locale)

From cppreference.net
Défini dans l'en-tête <locale>
template < class CharT >
bool isupper ( CharT ch, const locale & loc ) ;

Vérifie si le caractère donné est classé comme un caractère alphabétique majuscule par la facette std::ctype de la locale donnée.

Table des matières

Paramètres

ch - caractère
loc - locale

Valeur de retour

Retourne true si le caractère est classé comme majuscule, false sinon.

Implémentation possible

template<class CharT>
bool isupper(CharT ch, const std::locale& loc)
{
    return std::use_facet<std::ctype<CharT>>(loc).is(std::ctype_base::upper, ch);
}

Exemple

Illustre l'utilisation de std::isupper() avec différentes locales (spécifiques au système d'exploitation).

#include <iostream>
#include <locale>
int main()
{
    const wchar_t c = L'\u00de'; // LATIN CAPITAL LETTER THORN
    std::locale loc1("C");
    std::cout << std::boolalpha
              << "isupper('Þ', C locale) returned " << std::isupper(c, loc1) << '\n'
              << "islower('Þ', C locale) returned " << std::islower(c, loc1) << '\n';
    std::locale loc2("en_US.UTF8");
    std::cout << "isupper('Þ', Unicode locale) returned "
              << std::isupper(c, loc2) << '\n'
              << "islower('Þ', Unicode locale) returned "
              << std::islower(c, loc2) << '\n';
}

Sortie possible :

isupper('Þ', C locale) returned false
islower('Þ', C locale) returned false
isupper('Þ', Unicode locale) returned true
islower('Þ', Unicode locale) returned false

Voir aussi

vérifie si un caractère est un caractère majuscule
(fonction)
vérifie si un caractère large est un caractère majuscule
(fonction)