名前空間
変種

std::isblank

提供: cppreference.com
<tbody> </tbody>
ヘッダ <cctype> で定義
int isblank( int ch );
(C++11以上)

現在設定されている C のロケールによる分類において、指定された文字がブランク文字かどうか調べます。 ブランク文字は文中で単語を区切るために使用されるホワイトスペース文字です。 デフォルトの C ロケールでは、空白 (0x20) および水平タブ (0x09) のみがブランク文字に分類されます。

ch の値が unsigned char で表現できず、 EOF とも等しくない場合、動作は未定義です。

引数

ch - 分類する文字

戻り値

文字がブランク文字であれば非ゼロの値、そうでなければゼロ。

ノート

<cctype> の他のすべての関数と同様に、引数の値が unsigned char で表現できず、 EOF とも等しくない場合、 std::isblank の動作は未定義です。 プレーンな char (または signed char) でこれらの関数を安全に使用するためには、まず引数を unsigned char に変換するべきです。

bool my_isblank(char ch)
{
    return std::isblank(static_cast<unsigned char>(ch));
}

同様に、イテレータの値型が char または signed char のとき、標準のアルゴリズムで直接これらを使用するべきではありません。 代わりに、まず値を unsigned char に変換してください。

int count_blanks(const std::string& s)
{
    return std::count_if(s.begin(), s.end(), 
                      // static_cast<int(*)(int)>(std::isblank)         // wrong
                      // [](int c){ return std::isblank(c); }           // wrong
                      // [](char c){ return std::isblank(c); }          // wrong
                         [](unsigned char c){ return std::isblank(c); } // correct
                        );
}

関連項目

指定されたロケールにおいて文字がブランク文字に分類されるかどうか調べます
(関数テンプレート) [edit]
(C++11)
ワイド文字がブランク文字かどうか調べます
(関数) [edit]
ASCII値 文字

iscntrl
iswcntrl

isprint