Namespaces
Variants

iswpunct

From cppreference.net
< c ‎ | string ‎ | wide
ヘッダーで定義 <wctype.h>
int iswpunct ( wint_t ch ) ;
(C95以降)

指定されたワイド文字が句読点文字であるかどうかをチェックします。つまり、それが !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ のいずれか、または現在のロケールに固有の句読点文字である場合です。

目次

パラメータ

ch - ワイド文字

戻り値

ワイド文字が句読点文字である場合はゼロ以外の値、それ以外の場合はゼロ。

注記

ISO 30112 は、どのUnicode文字がPOSIX punctカテゴリに含まれるかを規定しています。

#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
#include <locale.h>
int main(void)
{
    const wchar_t c = L'\u2051'; // 二重アスタリスク ('⁑')
    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));
}

出力:

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

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.30.2.1.9 iswpunct関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.30.2.1.9 iswpunct関数 (p: 未定)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.30.2.1.9 iswpunct関数 (p: 450)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.25.2.1.9 iswpunct関数 (p: 396)

関連項目

文字が区切り文字であるかどうかをチェックする
(関数)
C++ documentation for iswpunct
**注記**: このHTMLテーブル行には翻訳対象となる自然言語テキストが含まれていないため、元の構造と内容をそのまま保持しています。数値範囲「71–90」と記号「–」はC++の文字コード範囲を示す技術的データであり、翻訳の対象外と判断しました。
ASCII値 文字

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

10進数 16進数 8進数
0–8 \x0 \x8 \0 \10 制御コード ( NUL など) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 タブ文字 ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 空白文字 ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 制御コード ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 スペース 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 バックスペース文字 ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0