std:: isupper
|
Défini dans l'en-tête
<cctype>
|
||
|
int
isupper
(
int
ch
)
;
|
||
Vérifie si le caractère donné est un caractère majuscule tel que classifié par les paramètres régionaux C actuellement installés. Dans les paramètres régionaux par défaut
"C"
,
std::isupper
retourne une valeur non nulle uniquement pour les lettres majuscules (
ABCDEFGHIJKLMNOPQRSTUVWXYZ
).
Si
std::isupper
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 n'est pas défini si la valeur de ch n'est pas représentable en tant que 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 majuscule, zéro sinon.
Notes
Comme toutes les autres fonctions de
<cctype>
, le comportement de
std::isupper
est indéfini si la valeur de l'argument n'est ni représentable comme
unsigned
char
ni égale à
EOF
. Pour utiliser ces fonctions en toute sécurité avec des
char
simples (ou des
signed
char
), l'argument doit d'abord être converti en
unsigned
char
:
bool my_isupper(char ch) { return std::isupper(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_uppers(const std::string& s) { return std::count_if(s.begin(), s.end(), // static_cast<int(*)(int)>(std::isupper) // incorrect // [](int c){ return std::isupper(c); } // incorrect // [](char c){ return std::isupper(c); } // incorrect [](unsigned char c){ return std::isupper(c); } // correct ); }
Exemple
#include <cctype> #include <clocale> #include <iostream> int main() { unsigned char c = '\xc6'; // lettre Æ en ISO-8859-1 std::cout << "isupper(\'\\xc6\', locale C par défaut) a retourné " << std::boolalpha << (bool)std::isupper(c) << '\n'; std::setlocale(LC_ALL, "en_GB.iso88591"); std::cout << "isupper(\'\\xc6\', locale ISO-8859-1) a retourné " << std::boolalpha << (bool)std::isupper(c) << '\n'; }
Sortie possible :
isupper('\xc6', default C locale) returned false
isupper('\xc6', ISO-8859-1 locale) returned true
Voir aussi
|
vérifie si un caractère est classé comme majuscule par une locale
(modèle de fonction) |
|
|
vérifie si un caractère large est un caractère majuscule
(fonction) |
|
|
Documentation C
pour
isupper
|
|
| Valeurs ASCII | Caractères |
isupper
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
|