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

std::iswblank

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<tbody> </tbody>
Определено в заголовочном файле <cwctype>
int iswblank( std::wint_t ch );
(начиная с C++11)

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

Если значение ch не может быть представлено как wchar_t и не равно значению макроса WEOF, поведение неопределено.

Параметры

ch широкий символ

Возвращаемое значение

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

Примечание

ISO 30112 определяет пустые символы POSIX как символы Юникода U+0009, U+0020, U+1680, U+180E, U+2000..U+2006, U+2008, U+200A, U+205F и U+3000.

Пример

#include <clocale>
#include <cwctype>
#include <iostream>

int main()
{
    wchar_t c = L'\u3000'; // Идеографический пробел (' ')

    std::cout << std::hex << std::showbase << std::boolalpha;
    std::cout << "в локали по умолчанию, iswblank(" << (std::wint_t)c << ") = "
              << (bool)std::iswblank(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "в локали Юникода, iswblank(" << (std::wint_t)c << ") = "
              << (bool)std::iswblank(c) << '\n';
}

Вывод:

в локали по умолчанию, iswblank(0x3000) = false
в локали Юникода, iswblank(0x3000) = true

Смотрите также

проверяет, классифицируется ли символ локалью как пустой символ
(шаблон функции) [править]
(C++11)
проверяет, является ли символ пустым символом
(функция) [править]
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