std:: islower
|
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
|
|
| Valeurs ASCII | Caractères |
islower
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
|