Namespaces
Variants

std:: iswcntrl

From cppreference.net
定義済みヘッダー <cwctype>
int iswcntrl ( std:: wint_t ch ) ;

指定されたワイド文字が制御文字であるかどうかをチェックします。つまり、 0x00-0x1F および 0x7F のコード、および現在のロケールに固有の制御文字を指します。

ch の値が wchar_t として表現可能でなく、かつマクロ WEOF の値とも等しくない場合、動作は未定義です。

目次

パラメータ

ch - ワイド文字

戻り値

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

注記

ISO 30112は、POSIX制御文字をUnicode文字U+0000..U+001F、U+007F..U+009F、U+2028、およびU+2029(UnicodeクラスCc、Zl、Zp)として定義しています。

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2028'; // Unicode文字「行区切り文字」
    std::cout << std::hex << std::showbase << std::boolalpha;
    std::cout << "デフォルトロケールでは、iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "Unicodeロケールでは、iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
}

出力:

デフォルトロケールでは、iswcntrl(0x2028) = false
Unicodeロケールでは、iswcntrl(0x2028) = true

関連項目

ロケールによって制御文字として分類されるかどうかをチェックする
(関数テンプレート)
文字が制御文字かどうかをチェックする
(関数)
**注記**: この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 \172 \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