Namespaces
Variants

iswprint

From cppreference.net
< c ‎ | string ‎ | wide
Défini dans l'en-tête <wctype.h>
int iswprint ( wint_t ch ) ;
(depuis C95)

Vérifie si le caractère large 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 imprimable spécifique aux paramètres régionaux C actuels.

Table des matières

Paramètres

ch - caractère large

Valeur de retour

Valeur non nulle si le caractère large peut être imprimé, zéro sinon.

Notes

ISO 30112 spécifie quels caractères Unicode sont inclus dans la catégorie d'impression POSIX.

Exemple

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u2002'; // Caractère Unicode 'ESPACE EN'
    printf("dans la locale par défaut, iswprint(%#x) = %d\n", c, !!iswprint(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("dans la locale Unicode, iswprint(%#x) = %d\n", c, !!iswprint(c));
    wchar_t c2 = L'\x82'; // rupture permise
    printf("dans la locale Unicode, iswprint(%#x) = %d\n", c2, !!iswprint(c2));
}

Sortie :

dans la locale par défaut, iswprint(0x2002) = 0
dans la locale Unicode, iswprint(0x2002) = 1
dans la locale Unicode, iswprint(0x82) = 0

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.30.2.1.8 La fonction iswprint (p: TBD)
  • Norme C17 (ISO/IEC 9899:2018) :
  • 7.30.2.1.8 La fonction iswprint (p: TBD)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.30.2.1.8 La fonction iswprint (p: 450)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.25.2.1.8 La fonction iswprint (p: 396)

Voir aussi

vérifie si un caractère est un caractère imprimable
(fonction)
Documentation C++ pour iswprint
**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 (`≠0`) restent inchangés - Il n'y avait pas de texte libre en dehors des balises HTML à traduire **Note:** Aucune traduction n'était nécessaire dans ce fragment HTML car : - Les nombres et plages numériques (71–90) ne se traduisent pas - Tout le contenu est à l'intérieur de balises ` ` qui doivent être préservées - Les symboles mathématiques (≠0) sont universels - Aucun texte libre en anglais n'était présent en dehors des balises ` `
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