Namespaces
Variants

iswcntrl

From cppreference.net
< c ‎ | string ‎ | wide
Определено в заголовочном файле <wctype.h>
int iswcntrl ( wint_t ch ) ;
(начиная с C95)

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

Содержание

Параметры

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

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

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

Примечания

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

Пример

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u2028'; // символ Юникода "разделитель строк"
    printf("В локали по умолчанию, iswcntrl(%#x) = %d\n", c, !!iswcntrl(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("В Юникод локали, iswcntrl(%#x) = %d\n", c, !!iswcntrl(c));
}

Вывод:

In the default locale, iswcntrl(0x2028) = 0
In Unicode locale, iswcntrl(0x2028) = 1

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.30.2.1.4 Функция iswcntrl (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.30.2.1.4 Функция iswcntrl (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.30.2.1.4 Функция iswcntrl (стр. 449)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.25.2.1.4 Функция iswcntrl (стр: 395)

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

проверяет, является ли символ управляющим символом
(функция)
C++ documentation для iswcntrl
**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из HTML-тегов, атрибутов, числовых значений и C++ специфических обозначений внутри тегов ` `, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном фрагменте HTML не содержится текста для перевода на русский язык, кроме символа тире `–`, который уже соответствует русской типографике. Все остальные элементы представляют собой: - Числовые диапазоны (58-64) - Шестнадцатеричные и восьмеричные escape-последовательности C++ - Символьные литералы - Числовые значения (0, ≠0) - HTML теги и атрибуты Все эти элементы согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (65–70) не требуют перевода - Содержимое внутри тегов ` ` не переводится согласно инструкциям - Символы `–` являются разделителями, а не текстом для перевода - Специальные символы `≠0` являются математическими обозначениями **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые диапазоны (71–90) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` и `≠` являются математическими символами - HTML-теги и атрибуты сохранены в оригинале **Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и символов - Специальных математических символов (≠) Если бы в таблице присутствовали текстовые описания на английском языке, они были бы переведены на русский с сохранением всех указанных ограничений. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (97–102) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` и `≠` являются математическими символами - HTML-теги и атрибуты остаются нетронутыми Весь представленный контент состоит из технических обозначений, числовых значений и 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 \173 \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