std::iswspace
From cppreference.com
| ヘッダ <cwctype> で定義 |
||
| int iswspace( wint_t ch ); |
||
現在インストールされているCロケールによって広義空白文字として分類される広義文字かどうかをチェックします。デフォルトロケールでは、空白文字は以下の通りです。
- スペース (
0x20、' ') - フォームフィード (
0x0c、'\f') - ラインフィード (
0x0a、'\n') - キャリッジリターン (
0x0d、'\r') - 水平タブ (
0x09、'\t') - 垂直タブ (
0x0b、'\v')。
ch の値が wchar_t として表現可能でもなく、マクロ WEOF の値と等しくもない場合、動作は未定義です。
目次 |
[編集] パラメータ
| 文字 | - | ワイド文字 |
[編集] 戻り値
広義文字が空白文字の場合はゼロ以外の値、それ以外の場合はゼロを返します。
[編集] 注釈
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[編集] 関連項目
| ロケールによって文字が空白文字に分類されるかチェックする (関数テンプレート) | |
| 文字が空白文字か調べる (関数) | |
| Cドキュメント for iswspace
| |
| ASCII値 | 文字 |
isspace |
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
GHIJKLMNOPQRSTUVWXYZ
|
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 |
ghijklmnopqrstuvwxyz
|
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
|