Namespaces
Variants

isprint

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

Vérifie si le caractère donné peut être imprimé, c'est-à-dire s'il s'agit soit d'un chiffre ( 0123456789 ), d'une lettre majuscule ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), d'une lettre minuscule ( abcdefghijklmnopqrstuvwxyz ), d'un caractère de ponctuation ( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ), d'un espace, ou de tout caractère classé comme imprimable par la locale C actuelle.

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 peut être imprimé, zéro sinon.

Exemple

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

Sortie possible :

In the default C locale, \xa0 is not printable
In ISO-8859-1 locale, \xa0 is printable

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.4.1.8 La fonction isprint (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.4.1.8 La fonction isprint (p: 146)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.4.1.8 La fonction isprint (p: 202)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.4.1.8 La fonction isprint (p: 183)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.3.1.7 Fonction isprint

Voir aussi

vérifie si un caractère large est un caractère imprimable
(fonction)
Documentation C++ pour isprint
**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 éléments textuels étaient des valeurs numériques et des codes **Note:** Aucun texte n'a été traduit car : - Les nombres et plages numériques (71–90) ne nécessitent pas de traduction - Tout le contenu se trouve dans des balises ` ` qui doivent être préservées - Les symboles mathématiques (≠0) sont universels - Aucun texte libre en dehors des balises de code n'est présent dans cet extrait **Note:** Aucun texte n'a été traduit dans cet extrait car : - Les nombres (103–122) sont des valeurs numériques - Le contenu des balises ` ` est préservé (caractères d'échappement C++ et lettres) - Les symboles mathématiques (`≠0`) ne sont pas traduits - La structure HTML et les attributs sont conservés intacts
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 backspace ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0