Namespaces
Variants

iswpunct

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

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.

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 <stdio.h>
#include <wchar.h>
#include <wctype.h>
#include <locale.h>
int main(void)
{
    const wchar_t c = L'\u2051'; // Deux astérisques ('⁑')
    printf("dans la locale par défaut, iswpunct(%#x) = %d\n", c, !!iswpunct(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("dans la locale Unicode, iswpunct(%#x) = %d\n", c, !!iswpunct(c));
}

Sortie :

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

Références

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

Voir aussi

vérifie si un caractère est un caractère de ponctuation
(fonction)
Documentation C++ pour iswpunct
**Note:** Aucun texte n'a été traduit car : - Les nombres (48–57) et les caractères (0123456789) ne nécessitent pas de traduction - Le contenu des balises ` ` est préservé (\x30, \x39, \60, \71, 0, ≠0) - Les symboles mathématiques (≠) ne sont pas traduits - Aucun autre texte en langage naturel n'est présent dans ce fragment HTML **Note:** Aucune traduction n'était nécessaire dans ce fragment HTML car : - Les nombres (71-90) et les plages de caractères restent identiques en français - Tout le contenu à l'intérieur des balises ` ` a été préservé - Les symboles mathématiques (`≠0`) et valeurs numériques sont universels - Aucun texte descriptif n'était présent à traduire **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`) ne sont pas traduits - Le contenu textuel restant est constitué uniquement de nombres et de tirets - Aucun terme C++ ou texte explicite ne nécessitait une traduction
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 backspace ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0