Namespaces
Variants

std:: iswdigit

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

Vérifie si le caractère large donné correspond (s'il est rétréci) à l'un des dix caractères de chiffres décimaux 0123456789 .

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 numérique, zéro sinon.

Notes

std::iswdigit et std::iswxdigit sont les seules fonctions standard de classification des caractères larges qui ne sont pas affectées par les paramètres régionaux C actuellement installés.

Exemple

Certains paramètres régionaux offrent des classes de caractères supplémentaires qui détectent les chiffres non-ASCII

#include <clocale>
#include <cwctype>
#include <iostream>
void test(wchar_t a3, wchar_t u3, wchar_t j3)
{
    std::wcout << std::boolalpha
               << "\t   '" << a3 << "'   '" << u3 << "'  '" << j3  << "'\n"
               << "iswdigit: "
               << (bool)std::iswdigit(a3) << "  "
               << (bool)std::iswdigit(u3) << " "
               << (bool)std::iswdigit(j3) << '\n'
               << "jdigit:   "
               << (bool)std::iswctype(a3, std::wctype("jdigit")) << ' '
               << (bool)std::iswctype(u3, std::wctype("jdigit")) << ' '
               << (bool)std::iswctype(j3, std::wctype("jdigit")) << '\n';
}
int main()
{
    wchar_t a3 = L'3';  // the ASCII digit 3
    wchar_t u3 = L'三'; // the CJK numeral 3
    wchar_t j3 = L'3'; // the full-width digit 3
    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout << "In American locale:\n";
    test(a3, u3, j3);
    std::wcout << "\nIn Japanese locale:\n";
    std::setlocale(LC_ALL, "ja_JP.utf8");
    test(a3, u3, j3);
}

Sortie possible :

In American locale:
           '3'   '三'  '3'
iswdigit: true  false false
jdigit:   false false false
In Japanese locale:
           '3'   '三'  '3'
iswdigit: true  false false
jdigit:   false false true

Voir aussi

vérifie si un caractère est classé comme un chiffre par une locale
(modèle de fonction)
vérifie si un caractère est un chiffre
(fonction)
Documentation C pour iswdigit
**Note:** Aucun texte à traduire n'a été trouvé dans ce fragment HTML. Le contenu se compose principalement de : - Valeurs numériques (48-57) - Codes hexadécimaux et octaux (\x30, \x39, \60, \71) - Chiffres (0123456789) - Symboles mathématiques (≠0) - Balises HTML et attributs Tous ces éléments doivent rester inchangés selon les instructions fournies. **Note:** Aucun texte n'a été traduit car : - Les nombres et codes C++ (71–90, \x47, \x5A, \107, \132, GHIJKLMNOP, QRSTUVWXYZ) sont préservés selon les instructions - Les valeurs 0 et ≠0 sont des valeurs techniques C++ et non du texte à traduire - Tous les contenus sont soit dans des balises soit des valeurs numériques/spéciales C++ **Note:** Aucun texte n'a été traduit car : - Les nombres et codes dans les balises ` ` sont préservés - Les symboles mathématiques (`≠0`) sont des termes techniques - Les chaînes de caractères dans les balises ` ` sont des données littérales - Aucun texte libre en dehors des balises techniques n'était présent à traduire **Note:** Aucun texte n'a nécessité de traduction dans ce fragment HTML car : - Les nombres et codes C++ sont conservés tels quels - Les symboles mathématiques (≠) ne sont pas traduits - Le contenu des balises ` ` est préservé - Il n'y avait pas de texte en anglais à traduire en français
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