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

std::isspace

Материал из cppreference.com
< cpp‎ | string‎ | byte
Defined in header <cctype>
int isspace( int ch );

Проверяет, является ли символ пробельным, по классификации текущей локали. В стандартной локали следующие символы являются пробельными:

  • пробел (0x20, ' ')
  • смена страницы (0x0c, '\f')
  • перевод строки (0x0a, '\n')
  • возврат каретки (0x0d, '\r')
  • горизонтальный таб (0x09, '\t')
  • вертикальный таб (0x0b, '\v')

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

Содержание

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

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

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

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

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

Аналогично остальным функциям из <cctype>, поведение std::isspace не определено, если значение аргумента не представляется как unsigned char и не равно EOF. Чтобы безопасно использовать эти функции с обычными символами типа char (или signed char), аргумент сначала должен быть приведён к unsigned char:

bool my_isspace(char ch)
{
    return std::isspace(static_cast<unsigned char>(ch));
}

Также функции не должны использоваться напрямую со стандартными алгоритмами, если значение итератора имеет тип char или signed char. Вместо этого сначала нужно конвертировать значение к unsigned char:

int count_spaces(const std::string& s)
{
    return std::count_if(s.begin(), s.end(), 
                      // static_cast<int(*)(int)>(std::isspace)         // неправильно
                      // [](int c){ return std::isspace(c); }           // неправильно
                      // [](char c){ return std::isspace(c); }          // неправильно
                         [](unsigned char c){ return std::isspace(c); } // правильно
                        );
}

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

проверяет, является ли символ пробелом в данной локали
(шаблон функции) [править]
проверяет, является ли широкий символ пробела
Оригинал:
checks if a wide character is a space 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