Книга: Язык программирования Си. Издание 3-е, исправленное
B2. Проверки класса символа: ‹ctype.h›
B2. Проверки класса символа: ‹ctype.h›
Заголовочный файл <ctype.h> объявляет функции, предназначенные для проверок символов. Аргумент каждой из них имеет тип int и должен либо представлять собой EOF, либо быть значением unsigned char, приведенным к int; возвращаемое значение тоже имеет тип int. Функции возвращают ненулевое значение ("истина"), когда аргумент c удовлетворяет описанному условию или принадлежит указанному классу символов, и нуль в противном случае.
isalnum(c) | isalpha(c) или isdigit(c) есть истина |
isalpha(c) | isupper(c) или islower(c) есть истина |
iscntrl(c) | управляющий символ |
isdigit(c) | десятичная цифра |
isgraph(c) | печатаемый символ кроме пробела |
islower(c) | буква нижнего регистра |
isprint(c) | печатаемый символ, включая пробел |
ispunct(c) | печатаемый символ кроме пробела, буквы или цифры |
isspace(c) | пробел, смена страницы, новая строка, возврат каретки, табуляция, вертикальная табуляция |
isupper(c) | буква верхнего регистра |
isxdigit(c) | шестнадцатеричная цифра |
В наборе семибитовых ASCII-символов печатаемые символы находятся в диапазоне от 0x20 (' ') до 0x7E ('~'); управляющие символы - от 0 (NUL) до 0x1F (US) и 0x7F (DEL).
Помимо перечисленных есть две функции, приводящие буквы к одному из регистров:
int tolower(int c) – переводит c на нижний регистр;
int toupper(int c) - переводит c на верхний регистр.
Если c - буква на верхнем регистре, то tolower(c) выдаст эту букву на нижнем регистре; в противном случае она вернет c. Если c - буква на нижнем регистре, то toupper(c) выдаст эту букву на верхнем регистре; в противном случае она вернет c.
- B1. Ввод-вывод: ‹stdio.h›
- B2. Проверки класса символа: ‹ctype.h›
- B3. Функции, оперирующие со строками:
- B4. Математические функции:
- B5. Функции общего назначения:
- B6. Диагностика:
- B7. Списки аргументов переменной длины:
- B8. Дальние переходы:
- B9. Сигналы:
- B10. Функции даты и времени: ‹time.h›
- B11. Зависящие от реализации пределы: и
- 3.4. Отношения между классами
- 9.7.1. Определение подкласса
- Инварианты класса и семантика ссылок
- Реализация класса бинарных деревьев
- 7.2. Операции проверки файлов
- Определение членов класса
- 12.1. Операторы проверки: assert()
- Запуск виртуального класса
- Вопросы для самопроверки
- Приложение № 1. Чек-лист для проверки продающей страницы
- Приватные члены класса
- Листинг 8.9. Сравнение эффективности использования строк и класса StringBuilder в алгоритмах