Пространства имён
Варианты
Действия

std::isblank

Материал из cppreference.com
< cpp‎ | string‎ | byte
Defined in header <cctype>
int isblank( int ch );
(начиная с C++11)

Проверяет, является ли символ пустым, по классификации текущей локали. Пустые символы это пробельные символы, использующиеся для разделения слов в предложении. В стандартной локали, только пробел (0x20) и горизонтальный таб (0x09) являются пустыми символами.

Поведение не определено, если значение ch не может быть представлено как unsigned char и не равно EOF.

Содержание

[править] Параметры

ch символ для проверки

[править] Возвращаемое значение

Ненулевое значение, если символ является пустым, ноль иначе.

[править] Примечания

Аналогично остальным функциям из <cctype>, поведение std::isblank не определено, если значение аргумента не представляется как unsigned char и не равно EOF. Чтобы безопасно использовать эти функции с обычными символами типа 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)         // неправильно
                      // [](int c){ return std::isblank(c); }           // неправильно
                      // [](char c){ return std::isblank(c); }          // неправильно
                         [](unsigned char c){ return std::isblank(c); } // правильно
                        );
}

[править] См. также

проверяет, является ли символ пустым в данной локали
(шаблон функции) [править]
(C++11)
проверяет, является ли широкий символ пробела
Оригинал:
checks if a wide character is a blank character
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]
ASCII values characters

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

decimal hexadecimal octal
0–8 \x0\x8 \0\10 control codes (NUL, etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA\xD \12\15 whitespaces (\n, \v, \f, \r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE\x1F \16\37 control codes ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 space 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 backspace character (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0