Namespaces
Variants

std:: isblank

From cppreference.net
Определено в заголовке <cctype>
int isblank ( int ch ) ;
(начиная с C++11)

Проверяет, является ли данный символ пробельным символом согласно классификации текущей установленной локали C. Пробельные символы - это символы whitespace, используемые для разделения слов в предложении. В локали C по умолчанию только пробел ( 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)
проверяет, является ли широкий символ пробельным символом
(функция)
**Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и диапазонов (33–47) - Специальных символов и escape-последовательностей внутри тегов ` ` - Математических символов (≠0) Все элементы сохранены в оригинальном виде в соответствии с требованиями. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из HTML-тегов, атрибутов, числовых значений и C++ специфических обозначений внутри тегов ` `, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода на русский язык. Все содержимое состоит из: - HTML тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и символов - Специальных символов (≠) Единственный текстовый элемент "–" (тире) уже является корректным для русского языка. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (65–70) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` и `≠` являются математическими символами - HTML-теги и атрибуты сохранены в оригинале Весь контент представлен в виде числовых значений, шестнадцатеричных кодов, восьмеричных кодов и символов, которые не подлежат переводу согласно указанным требованиям. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, кроме числовых диапазонов и символов, которые являются техническими данными и не требуют перевода согласно вашим инструкциям. Все содержимое внутри тегов ` ` сохранено в оригинальном виде, как и требовалось. **Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и символов в тегах ` ` (не подлежат переводу) - Специальных символов и обозначений C++ (сохранены в оригинале) Единственный возможный текст для перевода - дефис "–" между значениями, но в данном контексте он является математическим символом диапазона и не требует перевода. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (97–102) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы "–" являются разделителями диапазонов - Специальные символы "≠0" являются математическими обозначениями Все требования соблюдены: HTML-теги и атрибуты сохранены, содержимое тегов ` ` не переведено, C++ специфические термины сохранены. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы `–` и `≠` являются математическими символами, а не текстом - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, кроме символа тире (–), который в русскоязычном контексте остается без изменений. Все остальное содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Кода внутри тегов ` ` (сохранен без изменений) - Числовых значений и специальных символов - Символов ≠0 (не равно нулю) - математические обозначения не переводятся
Значения ASCII символы

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

десятичное шестнадцатеричное восьмеричное
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