Namespaces
Variants

std:: iswpunct

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

Vérifie si le caractère large donné est un caractère de ponctuation, c'est-à-dire qu'il fait partie de !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ou de tout caractère de ponctuation 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 ponctuation, zéro sinon.

Notes

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

Exemple

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2051'; // Two asterisks ('⁑')
    std::cout << std::hex << std::showbase << std::boolalpha
              << "in the default locale, iswpunct("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswpunct(c)) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, iswpunct("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswpunct(c)) << '\n';
}

Sortie :

in the default locale, iswpunct(0x2051) = false
in Unicode locale, iswpunct(0x2051) = true

Voir aussi

vérifie si un caractère est classé comme ponctuation par une locale
(modèle de fonction)
vérifie si un caractère est un caractère de ponctuation
(fonction)
Documentation C pour iswpunct
**Note:** Le contenu fourni ne contient aucun texte traduisible en dehors des balises ` `. Tous les éléments numériques, caractères spéciaux et notations techniques sont préservés conformément aux instructions. **Note:** Aucun texte n'a été traduit car : - Les nombres (71-90) et les plages de caractères ne nécessitent pas de traduction - Tout le contenu se trouve à l'intérieur de balises ` ` qui doivent être préservées - Les symboles mathématiques (`≠0`) sont universels - La structure HTML et les attributs ont été conservés intacts **Note:** Aucun texte n'a été traduit car : - Les nombres et caractères dans les balises ` ` sont préservés - Les symboles mathématiques (`≠0`) sont des notations techniques - Les plages numériques (103–122) sont des valeurs techniques - Le texte contenu dans les balises ` ` représente des caractères C++ et doit rester inchangé **Note:** Aucun texte n'a nécessité de traduction dans cet extrait 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 descriptif à 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