Namespaces
Variants

isalnum

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

Проверяет, является ли данный символ буквенно-цифровым символом согласно классификации текущей локали C. В локали по умолчанию следующие символы являются буквенно-цифровыми:

  • Цифры ( 0123456789 ),
  • Прописные буквы ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ),
  • Строчные буквы ( abcdefghijklmnopqrstuvwxyz ).

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

Содержание

Параметры

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

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

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

Пример

Демонстрирует использование isalnum с различными локалями (зависит от ОС).

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xdf'; // German letter ß in ISO-8859-1
    printf("isalnum('\\xdf') in default C locale returned %d\n", !!isalnum(c));
    if (setlocale(LC_CTYPE, "de_DE.iso88591"))
        printf("isalnum('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalnum(c));
}

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

isalnum('\xdf') in default C locale returned 0
isalnum('\xdf') in ISO-8859-1 locale returned 1

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.4.1.1 Функция isalnum (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.4.1.1 Функция isalnum (стр: 145)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.4.1.1 Функция isalnum (стр. 200)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.4.1.1 Функция isalnum (стр. 181)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.3.1.1 Функция isalnum

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

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