Namespaces
Variants

iswprint

From cppreference.net
< c ‎ | string ‎ | wide
ヘッダーで定義 <wctype.h>
int iswprint ( wint_t ch ) ;
(C95以降)

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

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - C++関連の専門用語(Parameters、Return value、Notes、Example、References、See also)は原文のまま保持しました - HTMLタグ、属性、クラス名、ID、リンク先は一切変更していません - 数値や記号類もそのまま保持しています

パラメータ

ch - ワイド文字

戻り値

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

注記

ISO 30112 は、POSIX printカテゴリに含まれるUnicode文字を指定しています。

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u2002'; // Unicode文字 'EN SPACE'
    printf("in the default locale, iswprint(%#x) = %d\n", c, !!iswprint(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("in Unicode locale, iswprint(%#x) = %d\n", c, !!iswprint(c));
    wchar_t c2 = L'\x82'; // 改行許可
    printf("in Unicode locale, iswprint(%#x) = %d\n", c2, !!iswprint(c2));
}

出力:

in the default locale, iswprint(0x2002) = 0
in Unicode locale, iswprint(0x2002) = 1
in Unicode locale, iswprint(0x82) = 0

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.30.2.1.8 iswprint関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.30.2.1.8 iswprint関数 (p: TBD)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.30.2.1.8 iswprint関数 (p: 450)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.25.2.1.8 iswprint関数 (p: 396)

関連項目

文字が表示可能文字かどうかをチェックする
(関数)
C++ documentation for iswprint
**注記**: このHTMLテーブル行の翻訳では、以下のルールに従いました: - HTMLタグと属性は一切翻訳せず保持 - ` `タグ内のテキストは翻訳せず保持(C++の文字コード表記と文字列) - 数値範囲「71–90」はそのまま保持 - 不等号記号「≠」はそのまま保持 - 数値「0」はそのまま保持
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