Namespaces
Variants

isprint

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

指定された文字が印刷可能かどうかをチェックします。つまり、数字( 0123456789 )、大文字( ABCDEFGHIJKLMNOPQRSTUVWXYZ )、小文字( abcdefghijklmnopqrstuvwxyz )、句読点文字( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ )、スペース、または現在のCロケールで印刷可能として分類される任意の文字であるかどうかを確認します。

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

目次

パラメータ

ch - 分類対象の文字

戻り値

文字が印刷可能な場合は非ゼロ値、それ以外の場合はゼロ。

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xa0'; // the non-breaking space in ISO-8859-1
    printf("In the default C locale, \\xa0 is %sprintable\n", isprint(c)?"":"not ");
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xa0 is %sprintable\n", isprint(c)?"":"not ");
}

出力例:

In the default C locale, \xa0 is not printable
In ISO-8859-1 locale, \xa0 is printable

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.4.1.8 isprint関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.4.1.8 isprint関数 (p: 146)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.4.1.8 isprint関数 (p: 202)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.4.1.8 isprint関数 (p: 183)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.3.1.7 isprint関数

関連項目

ワイド文字が表示可能文字かどうかをチェックする
(関数)
**注記**: このHTMLテーブル行には翻訳対象となる自然言語テキストが含まれていないため、元の構造と内容をそのまま保持しています。数値範囲「71–90」と記号「–」は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