isalnum - islower,
isalnum(3)
islower,
ОБЗОР
#include <ctype.h>
int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int isascii(int c);
int isblank(int c);
int isalnum_l(int c, locale_t locale);
int isalpha_l(int c, locale_t locale);
int isblank_l(int c, locale_t locale);
int iscntrl_l(int c, locale_t locale);
int isdigit_l(int c, locale_t locale);
int isgraph_l(int c, locale_t locale);
int islower_l(int c, locale_t locale);
int isprint_l(int c, locale_t locale);
int ispunct_l(int c, locale_t locale);
int isspace_l(int c, locale_t locale);
int isupper_l(int c, locale_t locale);
int isxdigit_l(int c, locale_t locale);
int isascii_l(int c, locale_t locale);
Требования макроса тестирования свойств для glibc
(см. feature_test_macros(7)):
isascii():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
isblank():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
или
cc -std=c99
isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(),
isdigit_l(), isgraph_l(), islower_l(), isprint_l(),
ispunct_l(), isspace_l(), isupper_l(), isxdigit_l():
Начиная с glibc 2.10:
_XOPEN_SOURCE >= 700
До glibc 2.10:
_GNU_SOURCE
isascii_l():
Начиная с glibc 2.10:
_XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
До glibc 2.10:
_GNU_SOURCE
ОПИСАНИЕ
Данные функции проверяют, попадает ли символ
c (который должен иметь
значение
unsigned char или
EOF) в определённый класс символов согласно
указанной локали. Функции без суффикса «_l» выполняют проверку на основе
текущей локали.
Функции с суффиксом «_l» выполняют проверку на основе указанного объекта
локали locale. Поведение этих функций не определено, если значение
locale равно специальному объекту локали LC_GLOBAL_LOCALE (смотрите
duplocale(3)) или является некорректным описателем объекта локали.
Далее в списке описаны действия функций без суффикса «_l»; функции с
суффиксом «_l» отличаются только использовании объекта локали locale
вместо текущей локали.
isalnum()
Проверяет символ на принадлежность к число-буквенным символам; вызов
эквивалентен (isalpha(c) || isdigit(c)).
isalpha()
Проверяет символ на принадлежность к алфавитным символам; в стандартной
локали «C» это эквивалентно (isupper(c) || islower(c)). В
некоторых локалях могут существовать дополнительные символы, для которых
isalpha() верно — буквы могут не находиться ни в верхнем, ни в нижнем
регистре.
isascii()
Проверяет, является ли c 7-битным значением unsigned char, которое
попадает в таблицу символов ASCII.
isblank()
Проверяет, является ли символ пробельным (blank); то есть пробелом или
символом табуляции.
iscntrl()
Проверяет, является ли символ управляющим.
isdigit()
Проверяет, является ли символ цифрой (от 0 до 9).
isgraph()
Проверяет, является ли символ печатным (но не пробельным).
islower()
Проверяет, является ли символ символом нижнего регистра.
isprint()
Проверяет, является ли символ печатным (включая пробельный).
ispunct()
Проверяет, является ли символ печатным; он не должен быть пробельным или
цифро-буквенным символом.
isspace()
Проверяет, являются ли символы не отображаемыми. В локалях «C» и
«POSIX» таковыми являются: пробел, символ перевода страницы («\f»),
символ новой строки («\n»), символ перевода каретки («\r»), символ
горизонтальной табуляции («\t») и символ вертикальной табуляции («\v»).
isupper()
Проверяет, является ли символ символом верхнего регистра.
isxdigit()
Проверяет, является ли символ шестнадцатеричной цифрой, т.е. одной из
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функции возвращают ненулевые значения, если проверяемый символ
c попадает
в тестируемый класс символов, в противном случае возвращается 0.
АТРИБУТЫ
Описание терминов данного раздела смотрите в
attributes(7).
Интерфейс Атрибут Значение
isalnum(),
isalpha(),
isascii(),
isblank(),
iscntrl(),
isdigit(),
isgraph(),
islower(),
isprint(),
ispunct(),
isspace(),
isupper(),
isxdigit()
безвредность в потоках: безвредно (MT-Safe)
ВЕРСИИ
Функции
isalnum_l(),
isalpha_l(),
isblank_l(),
iscntrl_l(),
isdigit_l(),
isgraph_l(),
islower_l(),
isprint_l(),
ispunct_l(),
isspace_l(),
isupper_l(),
isxdigit_l() и
isascii_l() доступны в glibc с версии 2.3.
СООТВЕТСТВИЕ СТАНДАРТАМ
В C89 определены
isalnum(),
isalpha(),
iscntrl(),
isdigit(),
isgraph(),
islower(),
isprint(),
ispunct(),
isspace(),
isupper() и
isxdigit(), но отсутствуют
isascii() и
isblank(). В
POSIX.1-2001 также определены эти функции, а также
isascii() (как
расширение XSI) и
isblank(). В C99 определены все перечисленные ранее
функции кроме
isascii().
В POSIX.1-2008 функция toascii() помечена как устаревшая с примечанием,
что её нельзя использовать в локализованных приложениях.
В POSIX.1-2008 определены isalnum_l(), isalpha_l(), isblank_l(),
iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(),
isprint_l(), ispunct_l(), isspace_l(), isupper_l() и
isxdigit_l().
Функция isascii_l() является расширением GNU.
ЗАМЕЧАНИЯ
Отношение символов к какому-либо классу зависит от локали. Например,
isupper() не распознает A-umlaut (Ä) как букву верхнего регистра в
локали
C по умолчанию.