std::iswblank
Материал из cppreference.com
Определено в заголовочном файле <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) | проверяет, классифицируется ли символ локалью как пустой символ (шаблон функции) |
(C++11) | проверяет, является ли символ пустым символом (функция) |
Документация C по iswblank |
ASCII значения | символы | isblank | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
деся-тичные | шестнад-цатерич-ные | восьме-ричные | |||||||||||||
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 |