std::isspace
提供: cppreference.com
ヘッダ <cctype> で定義 | ||
int isspace(int ch ); | ||
現在の C のロケールによる分類において、指定された文字がホワイトスペースかどうか調べます。 デフォルトのロケールでは、以下の文字がホワイトスペースです。
- 空白 (
0x20
, ' ') - 改頁 (
0x0c
, '\f') - 改行 (
0x0a
, '\n') - 復帰 (
0x0d
, '\r') - 水平タブ (
0x09
, '\t') - 垂直タブ (
0x0b
, '\v')
ch
の値が unsignedchar で表現できず、 EOF とも等しくない場合、動作は未定義です。
目次 |
[編集]引数
ch | - | 分類する文字 |
[編集]戻り値
文字がホワイトスペースであれば非ゼロの値、そうでなければゼロ。
[編集] ノート
<cctype> の他のすべての関数と同様に、引数の値が unsignedchar で表現できず、 EOF
とも等しくない場合、 std::isspace
の動作は未定義です。 プレーンな char (または signedchar) でこれらの関数を安全に使用するためには、まず引数を unsignedchar に変換するべきです。
bool my_isspace(char ch){return std::isspace(static_cast<unsignedchar>(ch));}
同様に、イテレータの値型が char または signedchar のとき、標準のアルゴリズムで直接これらを使用するべきではありません。 代わりに、まず値を unsignedchar に変換してください。
int count_spaces(conststd::string& s){returnstd::count_if(s.begin(), s.end(), // static_cast<int(*)(int)>(std::isspace) // wrong// [](int c){ return std::isspace(c); } // wrong// [](char c){ return std::isspace(c); } // wrong[](unsignedchar c){return std::isspace(c);}// correct);}
[編集]関連項目
指定されたロケールにおいて文字がホワイトスペースに分類されるかどうか調べます (関数テンプレート) | |
ワイド文字がスペース文字かどうか調べます (関数) | |
isspace の C言語リファレンス |
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 | 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 |