Namespaces
Variants

std:: iswspace

From cppreference.net
ヘッダーで定義 <cwctype>
int iswspace ( wint_t ch ) ;

指定されたワイド文字が、現在インストールされているCロケールで分類されるワイド空白文字であるかどうかをチェックします。デフォルトロケールでは、空白文字は以下の通りです:

  • スペース ( 0x20 , ' ' )
  • フォームフィード ( 0x0c , ' \f ' )
  • ラインフィード ( 0x0a , ' \n ' )
  • キャリッジリターン ( 0x0d , ' \r ' )
  • 水平タブ ( 0x09 , ' \t ' )
  • 垂直タブ ( 0x0b , ' \v ' ).

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

目次

パラメータ

ch - ワイド文字

戻り値

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

注記

ISO 30112は、POSIX空白文字をUnicode文字U+0009..U+000D、U+0020、U+1680、U+180E、U+2000..U+2006、U+2008..U+200A、U+2028、U+2029、U+205F、およびU+3000として定義しています。

異なるロケールでの iswspace の使用例を示します。

#include <clocale>
#include <cwctype>
#include <iostream>
void try_with(wchar_t c, const char* loc)
{
    std::setlocale(LC_ALL, loc);
    std::wcout << "isspace('" << c << "') in " << loc << " locale returned "
               << std::boolalpha << static_cast<bool>(std::iswspace(c)) << '\n';
}
int main()
{
    const wchar_t EM_SPACE = L'\u2003'; // Unicode character 'EM SPACE'
    try_with(EM_SPACE, "C");
    try_with(EM_SPACE, "en_US.UTF8");
}

出力:

isspace(' ') in C locale returned false
isspace(' ') in en_US.UTF8 locale returned true

関連項目

ロケールによって空白文字として分類されるかどうかをチェックする
(function template)
文字が空白文字かどうかをチェックする
(function)
C documentation for iswspace
**注記**: このHTMLテーブル行には翻訳対象となる自然言語テキストが含まれていません。すべての内容は以下のいずれかに該当します: - 数値範囲(71–90) - 16進数および8進数の文字コード表記(\x47, \x5A, \107, \132) - 英大文字のシーケンス(GHIJKLMNOP, QRSTUVWXYZ) - 数値(0)と非ゼロ(≠0)の記号 - HTMLタグと属性 これらの要素は翻訳対象外であるため、原文のまま保持されています。
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