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

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

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


iscntrl関数

概要

制御文字かどうか判定する。

ヘッダ

ctype.h

形式

int iscntrl(int c);

引数

c

判定する文字。

戻り値

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

詳細

ロケールの LC_CTYPE カテゴリの影響を受ける。
制御文字とは、画面に出力したとき領域を消費しないような文字を指す。つまり、isprint関数が偽となるような文字である。

注意

引数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 (iscntrl(i)) {
            printf("%c (%x)\n", i, i);
        }
    }
}

実行結果

  (0)
  (1)
  (2)
  (3)
  (4)
  (5)
  (6)
  (7)
  (8)
     (9)

  (a)
  (b)
  (c)

  (d)
  (e)
  (f)
  (10)
  (11)
  (12)
  (13)
  (14)
  (15)
  (16)
  (17)
  (18)
  (19)
  (1a)
  (1b)
  (1c)
  (1d)
  (1e)
  (1f)
  (7f)

関連

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

解説章


参考リンク


更新履歴

’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 管理者情報 プライバシーポリシー
先頭へ戻る