Namespaces
Variants

isprint

From cppreference.net
< c ‎ | string ‎ | byte
Определено в заголовке <ctype.h>
int isprint ( int ch ) ;

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

Поведение не определено, если значение ch не представимо в виде unsigned char и не равно EOF .

Содержание

Параметры

ch - символ для классификации

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

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

Пример

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xa0'; // the non-breaking space in ISO-8859-1
    printf("In the default C locale, \\xa0 is %sprintable\n", isprint(c)?"":"not ");
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xa0 is %sprintable\n", isprint(c)?"":"not ");
}

Возможный вывод:

In the default C locale, \xa0 is not printable
In ISO-8859-1 locale, \xa0 is printable

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.4.1.8 Функция isprint (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.4.1.8 Функция isprint (стр. 146)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.4.1.8 Функция isprint (стр. 202)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.4.1.8 Функция isprint (стр. 183)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.3.1.7 Функция isprint

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

проверяет, является ли широкий символ печатаемым символом
(функция)
C++ documentation для isprint
**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей внутри тегов ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Все элементы сохранены в оригинальном виде в соответствии с требованиями. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из числовых значений, шестнадцатеричных кодов, символов и HTML-разметки, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей внутри тегов ` ` (не подлежат переводу) - Числовых значений и символов - Специальных символов (≠) Единственный текстовый элемент "–" (тире) уже является корректным для русского языка. **Примечание:** В данном HTML-фрагменте переводу подлежал только числовой диапазон "65–70" в первой ячейке таблицы, который был переведён как "65–70" (остаётся без изменений, так как это числовые значения). Весь остальной текст находится внутри тегов ` ` или является C++ специфическими терминами, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (91–96) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы `–` (тире) и математические символы `≠0` не переводятся - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и шестнадцатеричных кодов внутри тегов ` ` (не подлежат переводу согласно правилам) - Символов `–` (дефисы/тире, не требуют перевода) - Символов `≠0` (математические обозначения, не требуют перевода) Если бы в таблице присутствовали текстовые описания на английском, они были бы переведены на русский с сохранением всех указанных ограничений. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы `–` и `≠` являются математическими символами, а не текстом для перевода - HTML-теги и атрибуты сохранены в оригинальном виде **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, требующий локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (сохранены без изменений) - Числовых значений и символов в тегах ` ` (не подлежат переводу согласно инструкциям) - Специальных символов и C++ терминов (сохранены в оригинале) Единственный потенциально переводимый элемент "–" (тире) уже является стандартным знаком препинания, не требующим перевода.
Значения 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 символ backspace ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0