isalpha
Материал из cppreference.com
Определено в заголовочном файле <ctype.h> | ||
int isalpha(int ch ); | ||
Проверяет, является ли данный символ алфавитным символом, т. е. буквой в верхнем регистре (ABCDEFGHIJKLMNOPQRSTUVWXYZ
) или буквой в нижнем регистре (abcdefghijklmnopqrstuvwxyz
).
В локалях, отличных от "C", алфавитный символ это символ, для которого isupper() или islower() возвращает true или любой другой символ, рассматриваемый алфавитным этой локалью. В любом случае iscntrl(), isdigit(), ispunct() и isspace() вернут false для этого символа.
Поведение не определено, если значение ch
не представимо в unsignedchar и не равно EOF.
Содержание |
[править]Параметры
ch | — | символ для классификации |
[править]Возвращаемое значение
Ненулевое значение, если символ является алфавитным символом, ноль иначе.
[править]Пример
Демонстрирует использование isalpha
с различными локалями (зависят от ОС).
Запустить этот код
#include <ctype.h>#include <stdio.h>#include <locale.h> int main(void){unsignedchar c ='\xdf';// Немецкая буква ß в ISO-8859-1 printf("isalpha('\\xdf') in default C locale returned %d\n", !!isalpha(c)); setlocale(LC_CTYPE, "de_DE.iso88591");printf("isalpha('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalpha(c));}
Возможный вывод:
isalpha('\xdf') in default C locale returned 0 isalpha('\xdf') in ISO-8859-1 locale returned 1
[править]Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.4.1.2 Функция isalpha (стр. 145)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.4.1.2 Функция isalpha (стр. 200-201)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.4.1.2 Функция isalpha (стр. 181-182)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.3.1.2 Функция isalpha
[править]См. также
проверяет, является ли широкий символ буквенным (функция) | |
Документация C++ по isalpha |
Значения ASCII | символы | isalpha | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
десятичное | шестнадцатиричное | восьмиричное | |||||||||||||
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 |