Namespaces
Variants

isupper

From cppreference.net
< c ‎ | string ‎ | byte
Défini dans l'en-tête <ctype.h>
int isupper ( int ch ) ;

Vérifie si le caractère donné est une majuscule selon les paramètres régionaux C actuels. Dans les paramètres régionaux par défaut "C", isupper renvoie vrai uniquement pour les lettres majuscules ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ).

Si isupper renvoie true , il est garanti que iscntrl , isdigit , ispunct , et isspace renvoient false 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.

Exemple

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xc6'; // letter Æ in ISO-8859-1
    printf("In the default C locale, \\xc6 is %suppercase\n",
           isupper(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xc6 is %suppercase\n",
           isupper(c) ? "" : "not " );
}

Sortie possible :

In the default C locale, \xc6 is not uppercase
In ISO-8859-1 locale, \xc6 is uppercase

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.4.1.11 La fonction isupper (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.4.1.11 La fonction isupper (p: 147)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.4.1.11 La fonction isupper (p: 203)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.4.1.11 La fonction isupper (p: 184)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.3.1.10 La fonction isupper

Voir aussi

vérifie si un caractère large est un caractère majuscule
(fonction)
Documentation C++ pour isupper
**Note:** Aucun texte n'a été traduit car : - Les nombres et codes hexadécimaux (48–57, \x30, \x39, \60, \71) sont des valeurs techniques - Le texte dans les balises est préservé (0123456789, 0, ≠0) - Les symboles mathématiques (≠) ne sont pas traduits - Il n'y avait aucun texte en langage naturel à traduire en français **Note:** Aucune traduction n'a été effectuée car : - Le texte "71–90" est une plage numérique qui ne nécessite pas de traduction - Tous les autres contenus textuels se trouvent dans des balises ` ` qui doivent être préservées selon les instructions - Les symboles "–" et "≠0" sont des notations techniques qui ne doivent pas être traduites
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 \173 \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