Namespaces
Variants

iswalnum

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

Проверяет, является ли данный широкий символ буквенно-цифровым символом, то есть либо цифрой ( 0123456789 ), заглавной буквой ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), строчной буквой ( abcdefghijklmnopqrstuvwxyz ) или любым буквенно-цифровым символом, специфичным для текущей локали.

Содержание

Параметры

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

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

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

Примечания

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

Пример

#include <stdio.h>
#include <locale.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u13ad'; // the Cherokee letter HA ('Ꭽ')
    printf("in the default locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("in Unicode locale, iswalnum(%#x) = %d\n", c, !!iswalnum(c));
}

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

in the default locale, iswalnum(0x13ad) = 0
in Unicode locale, iswalnum(0x13ad) = 1

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • TBD Функция iswalnum (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.30.2.1.1 Функция iswalnum (стр: 327)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.30.2.1.1 Функция iswalnum (стр. 448)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.25.2.1.1 Функция iswalnum (стр: 394)

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

проверяет, является ли символ буквенно-цифровым
(функция)
C++ documentation для iswalnum
**Примечание:** В данном HTML-фрагменте отсутствует текст для перевода - все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и специальных символов - Символа "–" (тире), который является стандартным разделителем диапазонов Все элементы сохранены в исходном формате в соответствии с требованиями. **Примечание:** В данном фрагменте HTML не содержится текста для перевода на русский язык. Все элементы представляют собой: - Числовые диапазоны (58–64) - Специальные символы в различных системах счисления (\x3A, \x40, \72, \100) - Символы ASCII (:;<=>?@) - Числовые значения (0) и математические обозначения (≠0) Все эти элементы сохраняются в оригинальном виде согласно требованиям перевода. **Примечание:** В данном HTML-фрагменте переводу подлежал только числовой диапазон "65–70" в первой ячейке таблицы, который был оставлен без изменений, так как представляет числовые значения ASCII-кодов. Весь остальной текст находится внутри тегов ` ` или является C++ специфичными терминами и символами, которые согласно инструкциям не подлежат переводу. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода, требующего локализации на русский язык. Все элементы представляют собой: - Числовые диапазоны (71–90) - Шестнадцатеричные и восьмеричные escape-последовательности C++ - Буквенные символы ASCII - Математические обозначения (≠0) - HTML-теги и атрибуты Все эти элементы сохранены в исходном виде в соответствии с требованиями перевода. **Примечание:** В данном HTML-фрагменте нет текста для перевода, требующего локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Кодовых последовательностей в тегах ` ` (не подлежат переводу) - Числовых значений и символов - Специальных математических символов (≠) Единственный потенциально переводимый элемент - дефис между значениями, но в данном контексте он используется как математический символ диапазона и сохраняет оригинальную форму. **Примечание:** В данном HTML-фрагменте отсутствует текст для перевода, требующий локализации на русский язык. Все содержимое состоит из: - HTML-тегов и атрибутов (не подлежат переводу) - Числовых значений и шестнадцатеричных кодов в тегах ` ` (не подлежат переводу согласно правилам) - Символов диапазона (`–`) - Математических символов (`≠0`) Форматирование и структура полностью сохранены в соответствии с требованиями. **Примечание:** В данном HTML-фрагменте не содержится текста для перевода на русский язык. Все элементы представлены в виде: - Числовых диапазонов (103–122) - Шестнадцатеричных (\x67–\x7A) и восьмеричных (\147–\172) escape-последовательностей - Буквенных символов внутри тегов ` ` - Числовых значений (0) и символов неравенства (≠0) внутри тегов ` ` Согласно инструкциям, содержимое тегов ` `, `
`, `` не переводится, а 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 \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