Namespaces
Variants

std:: iswprint

From cppreference.net
Défini dans l'en-tête <cwctype>
int iswprint ( std:: wint_t ch ) ;

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.

Si la valeur de ch n'est ni représentable comme un wchar_t ni égale à la valeur de la macro WEOF , le comportement est indéfini.

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 <clocale>
#include <cwctype>
#include <iostream>
void demo_iswprint(std::string_view rem, const std::wint_t c)
{
    std::cout << std::boolalpha << std::hex << std::showbase
              << rem << "iswprint('" << c << "') = "
              << !!std::iswprint(c) << '\n';
}
int main()
{
    const wchar_t c1 = L'\u2002'; // espace insécable
    const wchar_t c2 = L'\u0082'; // saut de ligne permis
    demo_iswprint("Dans la locale par défaut :\n", c1);
    std::setlocale(LC_ALL, "en_US.utf8");
    demo_iswprint("Dans la locale Unicode :\n", c1);
    demo_iswprint("", c2);
}

Sortie possible :

Dans la locale par défaut :
iswprint('0x2002') = false
Dans la locale Unicode :
iswprint('0x2002') = true
iswprint('0x82') = false

Voir aussi

vérifie si un caractère est classé comme imprimable par une locale
(function template)
vérifie si un caractère est un caractère d'impression
(function)
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 ne sont pas traduits - Il n'y avait aucun texte libre en dehors des balises HTML à traduire **Note:** Aucune traduction n'était nécessaire dans ce fragment HTML car : - Les nombres (71–90) restent identiques en français - Le contenu des balises ` ` est préservé (caractères C++, codes hexadécimaux/octaux) - Les symboles mathématiques (≠0) sont universels - La structure HTML et les attributs sont conservés intacts La traduction est identique au texte original car : - Les nombres (103–122) ne sont pas traduits - Le contenu des balises ` ` est préservé (\x67, \x7A, \147, \172, ghijklmnop, qrstuvwxyz, 0, ≠0) - Les symboles mathématiques (≠) ne sont pas traduits - La structure HTML et les attributs sont conservés intacts **Note:** Le contenu de cette table HTML ne contient que des valeurs numériques, des codes C++ et des symboles mathématiques qui ne nécessitent pas de traduction selon vos instructions. La structure HTML et tout le contenu entre les balises ` ` ont été préservé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 \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