Namespaces
Variants

std:: tolower (std::locale)

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

Convertit le caractère ch en minuscule si possible, en utilisant les règles de conversion spécifiées par le facet std::ctype de la locale donnée.

Table des matières

Paramètres

ch - caractère
loc - paramètres régionaux

Valeur de retour

Retourne la forme minuscule de ch si elle est répertoriée dans les paramètres régionaux, sinon retourne ch inchangé.

Notes

Seule une correspondance de caractères 1:1 peut être effectuée par cette fonction, par exemple la lettre grecque majuscule 'Σ' possède deux formes minuscules, selon la position dans un mot : 'σ' et 'ς'. Un appel à std::tolower ne peut pas être utilisé pour obtenir la forme minuscule correcte dans ce cas.

Implémentation possible

template<class CharT>
CharT tolower(CharT ch, const std::locale& loc)
{
    return std::use_facet<std::ctype<CharT>>(loc).tolower(ch);
}

Exemple

#include <cwctype>
#include <iostream>
#include <locale>
int main()
{
    wchar_t c = L'\u0190'; // Latin capital open E ('Ɛ')
    std::cout << std::hex << std::showbase;
    std::cout << "in the default locale, tolower(" << (std::wint_t)c << ") = "
              << (std::wint_t)std::tolower(c, std::locale()) << '\n';
    std::cout << "in Unicode locale, tolower(" << (std::wint_t)c << ") = "
              << (std::wint_t)std::tolower(c, std::locale("en_US.utf8")) << '\n';
}

Sortie possible :

in the default locale, tolower(0x190) = 0x190
in Unicode locale, tolower(0x190) = 0x25b

Voir aussi

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