Namespaces
Variants

std:: iswcntrl

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

Vérifie si le caractère large donné est un caractère de contrôle, c'est-à-dire les codes 0x00-0x1F et 0x7F ainsi que tout caractère de contrôle spécifique aux paramètres régionaux 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 est un caractère de contrôle, zéro sinon.

Notes

ISO 30112 définit les caractères de contrôle POSIX comme les caractères Unicode U+0000..U+001F, U+007F..U+009F, U+2028 et U+2029 (classes Unicode Cc, Zl et Zp).

Exemple

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2028'; // le caractère Unicode "séparateur de ligne"
    std::cout << std::hex << std::showbase << std::boolalpha;
    std::cout << "dans la locale par défaut, iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "dans la locale Unicode, iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
}

Sortie :

in the default locale, iswcntrl(0x2028) = false
in Unicode locale, iswcntrl(0x2028) = true

Voir aussi

vérifie si un caractère est classé comme caractère de contrôle par une locale
(modèle de fonction)
vérifie si un caractère est un caractère de contrôle
(fonction)
Documentation C pour iswcntrl
**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 codes C++ (71–90, \x47, \x5A, \107, \132, GHIJKLMNOP, QRSTUVWXYZ, 0, ≠0) sont préservés conformément aux instructions - Tous les textes se trouvent à l'intérieur de balises ou sont des valeurs numériques/spéciales - Le contenu est principalement technique et ne contient pas de texte descriptif à traduire **Note:** Le contenu HTML fourni ne contient aucun texte traduisible en dehors des balises ` `. Les seuls éléments textuels sont : - Les plages numériques "123–126" (qui ne nécessitent pas de traduction) - Les tirets "–" entre les valeurs (qui restent identiques en français) - Les symboles mathématiques "≠0" (qui sont universels) Tous les autres éléments sont soit des balises HTML, soit du contenu dans des balises ` ` qui doivent être préservés selon les instructions.
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