Namespaces
Variants

std:: islower

From cppreference.net
Défini dans l'en-tête <cctype>
int islower ( int ch ) ;

Vérifie si le caractère donné est classé comme un caractère minuscule selon la locale C actuelle. Dans la locale par défaut "C" , std::islower retourne une valeur non nulle uniquement pour les lettres minuscules ( abcdefghijklmnopqrstuvwxyz ).

Si islower retourne une valeur non nulle, il est garanti que std::iscntrl , std::isdigit , std::ispunct , et std::isspace retournent zéro pour le même caractère dans la même locale C.

Le comportement est indéfini si la valeur de ch n'est pas représentable comme unsigned char et n'est pas égale à EOF .

Table des matières

Paramètres

ch - caractère à classifier

Valeur de retour

Valeur non nulle si le caractère est une lettre minuscule, zéro sinon.

Notes

Comme toutes les autres fonctions de <cctype> , le comportement de std::islower est indéfini si la valeur de l'argument n'est ni représentable comme unsigned char ni égale à EOF . Pour utiliser ces fonctions de manière sûre avec des char simples (ou des signed char ), l'argument doit d'abord être converti en unsigned char :

bool my_islower(char ch)
{
    return std::islower(static_cast<unsigned char>(ch));
}

De même, ils ne doivent pas être utilisés directement avec des algorithmes standard lorsque le type de valeur de l'itérateur est char ou signed char . À la place, convertissez d'abord la valeur en unsigned char :

int count_lowers(const std::string& s)
{
    return std::count_if(s.begin(), s.end(),
                      // static_cast<int(*)(int)>(std::islower)         // incorrect
                      // [](int c){ return std::islower(c); }           // incorrect
                      // [](char c){ return std::islower(c); }          // incorrect
                         [](unsigned char c){ return std::islower(c); } // correct
                        );
}

Exemple

#include <cctype>
#include <clocale>
#include <iostream>
int main()
{
    unsigned char c = '\xe5'; // lettre å en ISO-8859-1
    std::cout << "islower(\'\\xe5\', locale C par défaut) a retourné "
              << std::boolalpha << (bool)std::islower(c) << '\n';
    std::setlocale(LC_ALL, "en_GB.iso88591");
    std::cout << "islower(\'\\xe5\', locale ISO-8859-1) a retourné "
              << std::boolalpha << (bool)std::islower(c) << '\n';
}

Sortie possible :

islower('\xe5', default C locale) returned false
islower('\xe5', ISO-8859-1 locale) returned true

Voir aussi

vérifie si un caractère est classé comme minuscule selon une locale
(modèle de fonction)
vérifie si un caractère large est une minuscule
(fonction)
Documentation C pour islower
**Notes sur la traduction :** - "tab" a été traduit par "tabulation" (terme technique standard en français pour les caractères de tabulation) - Tous les éléments HTML, attributs et contenu des balises ` ` ont été préservés intacts - La mise en forme et la structure HTML originales sont maintenues - Les symboles mathématiques "≠0" et "0" sont conservés tels quels **Note:** Le texte fourni ne contient aucun contenu textuel à traduire en dehors des balises HTML et des codes. Tous les éléments sont soit des balises HTML, soit du contenu dans des balises ` ` qui ne doivent pas être traduits selon les instructions. **Note:** Aucun texte n'a été traduit car : - Les nombres et codes hexadécimaux/octaux ne doivent pas être traduits - Le texte dans les balises ` ` est préservé - Les termes C++ spécifiques ne sont pas traduits - Les seuls textes potentiellement traduisibles (71-90) sont des plages numériques qui restent identiques en français **Note:** Le contenu HTML fourni ne contient aucun texte traduisible en dehors des balises ` `. Les seuls éléments textuels sont : - Les nombres (123–126) qui ne nécessitent pas de traduction - Les caractères techniques (`\x7B`, `\x7E`, `\172`, `\176`, `{|}~`, `0`, `≠0`) qui sont des notations C++ et doivent être préservés Par conséquent, la sortie reste identique à l'entrée.
Valeurs ASCII Caractères

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

décimal hexadécimal octal
0–8 \x0 \x8 \0 \10 codes de contrôle ( NUL , etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tabulation ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 espaces blancs ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 codes de contrôle ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 espace 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \172 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 caractère d'effacement ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0