名前空間
変種
操作

std::iswspace

提供: cppreference.com
< cpp‎ | string‎ | wide
ヘッダ <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 <iostream>#include <clocale>#include <cwctype>void try_with(wchar_t c, constchar* loc){std::setlocale(LC_ALL, loc);std::wcout<<"isspace('"<< c <<"') in "<< loc <<" locale returned "<<std::boolalpha<<(bool)std::iswspace(c)<<'\n';}int main(){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


[編集]関連項目

指定されたロケールにおいて文字がホワイトスペースに分類されるかどうか調べます
(関数テンプレート)[edit]
文字がスペース文字かどうか調べます
(関数)[edit]
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 など) ≠000000000000
9 \x9\11 タブ (\t) ≠00≠0≠000000000
10–13 \xA\xD\12\15 ホワイトスペース (\n, \v, \f, \r) ≠00≠0000000000
14–31 \xE\x1F\16\37 制御文字 ≠000000000000
32 \x20\40 空白 0≠0≠0≠000000000
33–47 \x21\x2F\41\57!"#$%&'()*+,-./0≠000≠0≠0000000
48–57 \x30\x39\60\7101234567890≠000≠00≠0000≠0≠0
58–64 \x3A\x40\72\100:;<=>?@0≠000≠0≠0000000
65–70 \x41\x46\101\106ABCDEF0≠000≠00≠0≠0≠000≠0
71–90 \x47\x5A\107\132GHIJKLMNOP
QRSTUVWXYZ
0≠000≠00≠0≠0≠0000
91–96 \x5B\x60\133\140[\]^_`0≠000≠0≠0000000
97–102 \x61\x66\141\146abcdef0≠000≠00≠0≠00≠00≠0
103–122 \x67\x7A\147\172ghijklmnop
qrstuvwxyz
0≠000≠00≠0≠00≠000
123–126 \x7B\x7E\172\176{|}~0≠000≠0≠0000000
127 \x7F\177 削除文字 (DEL) ≠000000000000
close