名前空間
変種
操作

ispunct

From cppreference.com
< c‎ | string‎ | byte
ヘッダ <ctype.h> で定義
int ispunct( int ch );

指定された文字が、現在のCロケールで句読文字であるかどうかをチェックします。デフォルトのCロケールでは、!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ の文字を句読文字として分類します。

ch の値が unsigned char として表現できず、かつ EOF と等しくない場合、動作は未定義です。

目次

[編集] パラメータ

文字 - 分類する文字

[編集] 戻り値

文字が句読文字の場合はゼロ以外の値を返し、そうでない場合はゼロを返します。

[編集]

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
 
int main(void)
{
    unsigned char c = '\xd7'; // the character × (multiplication sign) in ISO-8859-1
    printf("In the default C locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
}

実行結果の例

In the default C locale, \xd7 is not punctuation
In ISO-8859-1 locale, \xd7 is punctuation

[編集] 参考文献

  • C23標準 (ISO/IEC 9899:2024)
  • 7.4.1.9 The ispunct function (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.4.1.9 The ispunct function (p: 146)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.4.1.9 The ispunct function (p: 202)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.4.1.9 The ispunct function (p: 183)
  • C89/C90標準 (ISO/IEC 9899:1990)
  • 4.3.1.8 The ispunct function

[編集] 関連項目

ワイド文字が句読文字であるかチェックする
(関数) [編集]
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
English 日本語 中文(简体) 中文(繁體)