iswpunct
From cppreference.com
 
 
 
 
 
  C 
 Concurrency support (C11)
 Null-terminated wide strings 
 
 
 
 
 
 
 
 
 
Character manipulation  Conversions to numeric formats  
 
 
 String manipulation  
 Array manipulation  
 
 
 Types  Macros  
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
  (C99)
(C95)(C99)
(C99)(C95)(C99)
(C95)(C11)
(C95)(C11)
  (C95)
(C95)(C95)
(C95)(C95)
(C95)
Defined in header 
 
 
<wctype.h> 
 int iswpunct( wint_t ch );
 
 (since C95) 
Checks if the given wide character is a punctuation character, i.e. it is one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ or any punctuation character specific to the current locale.
[edit] Parameters
 ch
 -
 wide character
[edit] Return value
Non-zero value if the wide character is a punctuation character, zero otherwise.
[edit] Notes
ISO 30112 specifies which Unicode characters are include in POSIX punct category.
[edit] Example
Run this code
#include <stdio.h> #include <wchar.h> #include <wctype.h> #include <locale.h> int main(void) { const wchar_t c = L'\u2051'; // Two asterisks ('⁑') printf ("in the default locale, iswpunct(%#x) = %d\n", c, !!iswpunct(c)); setlocale (LC_ALL, "en_US.utf8"); printf ("in Unicode locale, iswpunct(%#x) = %d\n", c, !!iswpunct(c)); }
Output:
in the default locale, iswpunct(0x2051) = 0 in Unicode locale, iswpunct(0x2051) = 1
[edit] References
- C23 standard (ISO/IEC 9899:2024):
- 7.30.2.1.9 The iswpunct function (p: TBD)
 
- C17 standard (ISO/IEC 9899:2018):
- 7.30.2.1.9 The iswpunct function (p: TBD)
 
- C11 standard (ISO/IEC 9899:2011):
- 7.30.2.1.9 The iswpunct function (p: 450)
 
- C99 standard (ISO/IEC 9899:1999):
- 7.25.2.1.9 The iswpunct function (p: 396)
 
[edit] See also
C++ documentation  for iswpunct
| ASCII values | characters | ispunct  | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| decimal | hexadecimal | octal | |||||||||||||
| 0–8 | \x0–\x8 | 0円–10円 | control codes ( NUL, etc.) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 9 | \x9 | 11円 | tab ( \t) | ≠0 | 0 | ≠0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 10–13 | \xA–\xD | 12円–15円 | whitespaces ( \n,\v,\f,\r) | ≠0 | 0 | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 14–31 | \xE–\x1F | 16円–37円 | control codes | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 
| 32 | \x20 | 40円 | space | 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円 | GHIJKLMNOPQRSTUVWXYZ | 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円 | ghijklmnopqrstuvwxyz | 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円 | backspace character ( DEL) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |