Namespaces
Variants

std:: iswgraph

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

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

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

Содержание

Параметры

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

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

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

Примечания

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

Пример

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2602'; // the Unicode character Umbrella ('☂')
    std::cout << std::hex << std::showbase << std::boolalpha
              << "in the default locale, iswgraph("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswgraph(c)) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, iswgraph("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswgraph(c)) << '\n';
}

Вывод:

in the default locale, iswgraph(0x2602) = false
in Unicode locale, iswgraph(0x2602) = true

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

проверяет, классифицируется ли символ как графический в локали
(шаблон функции)
проверяет, является ли символ графическим
(функция)
**Примечание**: В данном HTML-фрагменте нет текста для перевода на русский язык, кроме символа тире `–` между значениями в тегах ` `, который является математическим/техническим символом и не требует перевода. Все остальное содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не переводится) - Символов и специальных обозначений в тегах ` ` (не переводится) - Технических обозначений `≠0` (не переводится) **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из HTML-тегов, атрибутов, числовых значений и C++ специфических обозначений внутри тегов ` `, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не подлежат переводу) - Символов и специальных обозначений в тегах ` ` (не подлежат переводу) Единственный текстовый элемент "–" (тире) между тегами ` ` является стандартным символом диапазона и не требует перевода. **Примечание:** В данном HTML-фрагменте переводу подлежал только числовой диапазон "65–70" в первой ячейке таблицы. Остальной текст либо находится внутри тегов ` `, либо представляет собой C++ специфические термины и символы, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представлены в виде: - Числовых диапазонов (71–90) - Шестнадцатеричных и восьмеричных escape-последовательностей C++ (\x47, \x5A, \107, \132) - Буквенных символов (GHIJKLMNOP, QRSTUVWXYZ) - Математических обозначений (0, ≠0) Согласно требованиям, эти элементы не подлежат переводу для сохранения технической точности и соответствия стандартам C++. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (91–96) не требуют перевода - Весь текст внутри тегов ` ` сохранен без изменений - Символы `–` (тире) и математические символы `≠0` не подлежат переводу - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном 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 \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