Namespaces
Variants

iswprint

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

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

Содержание

Параметры

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

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

Ненулевое значение, если широкий символ может быть напечатан, и ноль в противном случае.

Примечания

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

Пример

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u2002'; // Unicode character 'EN SPACE'
    printf("in the default locale, iswprint(%#x) = %d\n", c, !!iswprint(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("in Unicode locale, iswprint(%#x) = %d\n", c, !!iswprint(c));
    wchar_t c2 = L'\x82'; // break permitted
    printf("in Unicode locale, iswprint(%#x) = %d\n", c2, !!iswprint(c2));
}

Вывод:

in the default locale, iswprint(0x2002) = 0
in Unicode locale, iswprint(0x2002) = 1
in Unicode locale, iswprint(0x82) = 0

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.30.2.1.8 Функция iswprint (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.30.2.1.8 Функция iswprint (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.30.2.1.8 Функция iswprint (стр. 450)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.25.2.1.8 Функция iswprint (стр: 396)

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

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