std::iswspace
来自cppreference.com
| 在标头 <cwctype> 定义
|
||
| |
||
检查给定宽字符是否被当前安装的 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 << "') 在 " << loc << " 本地环境中返回 "
<< std::boolalpha << static_cast<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(' ') 在 C 本地环境中返回 false
isspace(' ') 在 en_US.UTF8 本地环境中返回 true
参阅
| 检查字符是否被本地环境分类为空白 (函数模板) | |
| 检查字符是否为空白间隔字符 (函数) | |
iswspace 的 C 文档
| |
