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, const char* 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 字符 '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


[编辑] 参阅

检查字符是否本地环境分类为空白符
(函数模板) [编辑]
检查字符是否为空白符
(函数) [编辑]
iswspaceC 文档
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

0 - 8 0x00-0x08 控制码 (NUL 等) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 0x09 制表符 (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10 - 13 0x0A-0x0D 空白字符 (\n,\v,\f,\r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14 - 31 0x0E-0x1F 控制码 ≠0 0 0 0 0 0 0 0 0 0 0 0
32 0x20 空格 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33 - 47 0x21-0x2F !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48 - 57 0x30-0x39 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58 - 64 0x3a-0x40 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65 - 70 0x41-0x46 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71 - 90 0x47-0x5A GHIJKLMNOPQRSTUVWXYZ 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91 - 96 0x5B-0x60 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97 -102 0x61-0x66 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103-122 0x67-0x7A ghijklmnopqrstuvwxyz 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123-126 0x7B-0x7E {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 0x7F 退格字符 (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0