ispunct | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


ispunct関数

概要

区切り文字かどうか判定する。

ヘッダ

ctype.h

形式

int ispunct(int c);

引数

c

判定する文字。

戻り値

引数c が区切り文字であれば 0以外を返し、そうでなければ 0 を返す。

詳細

ロケールの LC_CTYPE カテゴリの影響を受ける。
“C”ロケールの下では、区切り文字とは、isalnum関数が偽を返す文字であり、かつ、図形文字(=isgraph関数が真を返す)でもあるものを指す。

注意

引数c が 0~UCHAR_MAX あるいは EOF のいずれかに含まれていない場合の動作は未定義である。

使用例

#include <stdio.h>
#include <ctype.h>
#include <limits.h>

int main(void)
{
    for (int i = 0; i < UCHAR_MAX; ++i) {
        if (ispunct(i)) {
            printf("%c (%x)\n", i, i);
        }
    }
}

実行結果

! (21)
" (22)
# (23)
$ (24)
% (25)
& (26)
' (27)
( (28)
) (29)
* (2a)
+ (2b)
, (2c)
- (2d)
. (2e)
/ (2f)
: (3a)
; (3b)
< (3c)
= (3d)
> (3e)
? (3f)
@ (40)
[ (5b)
\ (5c)
] (5d)
^ (5e)
_ (5f)
` (60)
{ (7b)
| (7c)
} (7d)
~ (7e)

関連

ワイド文字版の iswpunct関数がある。

解説章


参考リンク


更新履歴

’2018/4/22 解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。

’2018/4/10 ロケールに関する記述を追加。

’2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る