Namespaces
Variants

ispunct

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

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

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

Содержание

Параметры

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

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

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

Пример

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xd7'; // the character × (multiplication sign) in ISO-8859-1
    printf("In the default C locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
}

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

In the default C locale, \xd7 is not punctuation
In ISO-8859-1 locale, \xd7 is punctuation

Ссылки

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

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

проверяет, является ли широкий символ символом пунктуации
(функция)
C++ documentation для ispunct
**Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, кроме числовых диапазонов и символов, которые являются техническими данными и не подлежат переводу согласно вашим инструкциям. Весь контент внутри тегов ` ` сохранен без изменений, HTML-теги и атрибуты также остались нетронутыми. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из HTML-тегов, атрибутов, числовых значений и C++ специфических обозначений внутри тегов ` `, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Все требования соблюдены - HTML структура и содержимое тегов ` ` сохранены без изменений. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (65–70) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений - Символы "–" являются разделителями, а не текстом для перевода - Все остальные элементы представляют собой HTML-разметку и числовые значения в таблице **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (71–90) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы "–" являются разделителями диапазонов - Все остальные элементы представляют собой HTML-разметку и числовые/символьные данные **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (91–96) не требуют перевода - Содержимое внутри тегов ` ` не переводится согласно инструкциям - Символы `–` (тире) являются частью форматирования - Все остальные элементы представляют собой HTML-разметку или числовые/символьные данные **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не подлежат переводу) - Символов `–` (дефис/тире) и математического символа `≠` (не подлежат переводу) Форматирование полностью сохранено в соответствии с исходным кодом. **Примечание:** В данном HTML-фрагменте нет текста для перевода на русский язык, так как: - Числовые значения (103–122) не требуют перевода - Содержимое внутри тегов ` ` сохраняется без изменений согласно инструкциям - Символы `–` являются разделителями, а не текстом для перевода - Все остальные элементы представляют собой 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 \x7E {|}~ 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