Namespaces
Variants

std:: iswcntrl

From cppreference.net
Определено в заголовочном файле <cwctype>
int iswcntrl ( std:: wint_t ch ) ;

Проверяет, является ли заданный широкий символ управляющим символом, т.е. коды 0x00-0x1F и 0x7F и любые управляющие символы, специфичные для текущей локали.

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

Содержание

Параметры

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

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

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

Примечания

ISO 30112 определяет управляющие символы POSIX как символы Unicode U+0000..U+001F, U+007F..U+009F, U+2028 и U+2029 (классы Unicode Cc, Zl и Zp).

Пример

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2028'; // Unicode-символ "разделитель строк"
    std::cout << std::hex << std::showbase << std::boolalpha;
    std::cout << "in the default locale, iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, iswcntrl(" << (std::wint_t)c << ") = "
              << (bool)std::iswcntrl(c) << '\n';
}

Вывод:

in the default locale, iswcntrl(0x2028) = false
in Unicode locale, iswcntrl(0x2028) = true

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

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