Namespaces
Variants

iswgraph

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

Проверяет, имеет ли заданный широкий символ графическое представление, т.е. является ли он либо цифрой ( 0123456789 ), заглавной буквой ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), строчной буквой ( abcdefghijklmnopqrstuvwxyz ), знаком пунктуации ( !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ) или любым графическим символом, специфичным для текущей локали C.

Содержание

Параметры

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

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

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

Примечания

ISO 30112 определяет, какие символы Юникода включены в категорию POSIX graph.

Пример

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

Вывод:

в локали по умолчанию, iswgraph(0x2602) = 0
в локали Unicode, iswgraph(0x2602) = 1

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.30.2.1.6 Функция iswgraph (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.30.2.1.6 Функция iswgraph (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.30.2.1.6 Функция iswgraph (стр. 449-450)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.25.2.1.6 Функция iswgraph (стр: 395-396)

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

проверяет, является ли символ графическим символом
(функция)
C++ documentation для iswgraph
**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Все требования соблюдены - HTML структура и содержимое тегов ` ` сохранены без изменений. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и символов в тегах ` ` (не подлежат переводу) - Специальных символов и escape-последовательностей (не подлежат переводу) Единственный текстовый элемент "–" (тире) между тегами ` ` является стандартным символом диапазона и не требует перевода. **Примечание:** В данном HTML-фрагменте переводу подлежал только текст "65–70" (десятичные коды символов), который был оставлен без изменений, так как представляет числовые значения. Весь остальной текст находится внутри тегов ` ` или является C++ специфическими терминами (шестнадцатеричные и восьмеричные escape-последовательности, символы), которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представляют собой: - Числовые диапазоны (71–90) - Шестнадцатеричные и восьмеричные escape-последовательности C++ - Буквенные символы ASCII - Логические значения (0 и ≠0) - HTML-теги и атрибуты Все эти элементы сохранены в оригинальном виде в соответствии с требованиями перевода. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, требующий локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодов символов в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (дефис/тире), который является стандартным знаком препинания Если бы в таблице присутствовали текстовые описания на английском (например, названия функций или категорий), они были бы переведены на русский с сохранением всех указанных ограничений. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода на русский язык. Все содержимое состоит из: - HTML тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и символов - Специальных математических символов (≠) Если бы в таблице присутствовали текстовые описания на английском языке, они были бы переведены на русский с сохранением всех указанных ограничений. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы `–` и `≠` являются математическими символами, а не текстом для перевода - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (123–126) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` и `≠` являются математическими символами - 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