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

先頭へ戻る

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)
{
    int i;

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

    return 0;
}

実行結果

! (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 に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー