Namespaces
Variants

iscntrl

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

指定された文字が制御文字であるかどうかをチェックします。つまり、コード [ 0x00 , 0x1F ] および 0x7F です。

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

目次

パラメータ

ch - 分類対象の文字

戻り値

文字が制御文字である場合はゼロ以外の値、それ以外の場合はゼロ。

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\x94'; // ISO-8859-1における制御コード CCH
    printf("デフォルトのCロケールでは、\\x94は%s制御文字です\n",
           iscntrl(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("ISO-8859-1ロケールでは、\\x94は%s制御文字です\n",
           iscntrl(c) ? "" : "not " );
}

出力例:

デフォルトのCロケールでは、\x94は制御文字ではありません
ISO-8859-1ロケールでは、\x94は制御文字です

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.4.1.4 iscntrl関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.4.1.4 iscntrl関数 (p: 146)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.4.1.4 iscntrl関数 (p: 201)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.4.1.4 iscntrl関数 (p: 182)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.3.1.3 iscntrl関数

関連項目

ワイド文字が制御文字かどうかをチェックする
(関数)
**注記**: このHTMLテーブル行には、翻訳すべき自然言語テキストが含まれていません。すべての内容は以下のいずれかに該当します: - 数値範囲(71–90) - 16進数および8進数の文字コード表記(\x47, \x5A, \107, \132) - 英大文字のシーケンス(GHIJKLMNOP, QRSTUVWXYZ) - 数値(0)と非ゼロ値(≠0)の表示 これらの要素は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