Namespaces
Variants

iscntrl

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

Vérifie si le caractère donné est un caractère de contrôle, c'est-à-dire les codes [ 0x00 , 0x1F ] et 0x7F .

Le comportement est indé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 un caractère de contrôle, zéro sinon.

Exemple

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\x94'; // the control code CCH in ISO-8859-1
    printf("Dans la locale C par défaut, \\x94 est %sun caractère de contrôle\n",
           iscntrl(c) ? "" : "pas " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("Dans la locale ISO-8859-1, \\x94 est %sun caractère de contrôle\n",
           iscntrl(c) ? "" : "pas " );
}

Sortie possible :

Dans la locale C par défaut, \x94 est pas un caractère de contrôle
Dans la locale ISO-8859-1, \x94 est un caractère de contrôle

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.4.1.4 La fonction iscntrl (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.4.1.4 La fonction iscntrl (p: 146)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.4.1.4 La fonction iscntrl (p: 201)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.4.1.4 La fonction iscntrl (p: 182)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.3.1.3 La fonction iscntrl

Voir aussi

vérifie si un caractère large est un caractère de contrôle
(fonction)
Documentation C++ pour iscntrl
**Note:** Le texte fourni ne contient aucun contenu linguistique à traduire en français. Tous les éléments sont soit : - Des balises HTML (conservées intactes) - Du code C++ (dans les balises ` `, non traduit) - Des valeurs numériques et caractères spéciaux (non traduits) - Des symboles mathématiques comme "≠0" (non traduits) La structure du tableau HTML a été préservée exactement comme dans l'original. **Note:** Aucun texte n'a été traduit car : - Les nombres et codes hexadécimaux/octaux ne sont pas traduits - Le texte dans les balises ` ` est préservé - Les termes C++ spécifiques ne sont pas traduits - Les seuls éléments textuels étaient des valeurs numériques et des codes **Note:** Aucun texte n'a été traduit car : - Les nombres et caractères dans les balises ` ` sont préservés - Les symboles mathématiques (`≠0`) ne sont pas traduits - Le contenu textuel restant est constitué uniquement de nombres et de tirets - Aucun terme C++ spécifique n'est présent dans ce fragment
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