Namespaces
Variants

std:: iswpunct

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

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

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

Содержание

Параметры

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

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

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

Примечания

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

Пример

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u2051'; // Двойные звездочки ('⁑')
    std::cout << std::hex << std::showbase << std::boolalpha
              << "in the default locale, iswpunct("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswpunct(c)) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, iswpunct("
              << static_cast<std::wint_t>(c) << ") = "
              << static_cast<bool>(std::iswpunct(c)) << '\n';
}

Вывод:

in the default locale, iswpunct(0x2051) = false
in Unicode locale, iswpunct(0x2051) = true

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

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