Стандартная библиотека C -<ctype.h>
Введение
Стандартная библиотека C:ctype.hЭтот заголовочный файл предоставляет некоторые функции, которые можно использовать для проверки и преобразования символов. Эти функции в основном используются для проверки типов символов (таких как буквы, цифры, пробельные символы и т. д.) и для преобразования регистра символов.
<ctype.h>Он предоставляет удобный набор функций для обработки классификации и преобразования символов, а также является важным инструментом для операций с символами в стандартной библиотеке C.
Ниже приведён простой пример, демонстрирующий, как использовать<ctype.h>Предоставляемые функции:
Пример
#include <ctype.h>
int main() {
char ch;
// Примеры символов
char chars[] = "a1 B? \n";
// Проверка типа каждого символа
for (int i = 0; chars[i] != '\0'; i++) {
ch = chars[i];
printf("Символ: '%c'\n", ch);
if (isalpha(ch)) {
printf(" - isalpha: Да\n");
} else {
printf(" - isalpha: Нет\n");
}
if (isdigit(ch)) {
printf(" - isdigit: Да\n");
} else {
printf(" - isdigit: Нет\n");
}
if (isspace(ch)) {
printf(" - isspace: Да\n");
} else {
printf(" - isspace: Нет\n");
}
if (isprint(ch)) {
printf(" - isprint: Да\n");
} else {
printf(" - isprint: Нет\n");
}
if (ispunct(ch)) {
printf(" - ispunct: Да\n");
} else {
printf(" - ispunct: Нет\n");
}
}
// Пример преобразования регистра символов
char lower = 'a';
char upper = 'A';
printf("tolower('%c') = '%c'\n", upper, tolower(upper));
printf("toupper('%c') = '%c'\n", lower, toupper(lower));
return 0;
}
Результат вывода:
Character: 'a'
- isalpha: Yes
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: No
Character: '1'
- isalpha: No
- isdigit: Yes
- isspace: No
- isprint: Yes
- ispunct: No
Character: ' '
- isalpha: No
- isdigit: No
- isspace: Yes
- isprint: Yes
- ispunct: No
Character: 'B'
- isalpha: Yes
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: No
Character: '?'
- isalpha: No
- isdigit: No
- isspace: No
- isprint: Yes
- ispunct: Yes
Character: '
'
- isalpha: No
- isdigit: No
- isspace: Yes
- isprint: No
- ispunct: No
tolower('A') = 'a'
toupper('a') = 'A'
Библиотечные функции
Функции, определённые в заголовочном файле ctype.h, перечислены ниже.
Эти функции используются для проверки, принадлежит ли символ определённому типу. Они принимаютintв качестве аргумента, значение которого должно быть EOF или представимо как unsigned char.
Если аргумент c удовлетворяет описанному условию, эти функции возвращают ненулевое значение (истина). Если аргумент c не удовлетворяет описанному условию, эти функции возвращают ноль.
| Порядковый номер | Функция и описание |
|---|---|
| 1 | int isalnum(int c) Эта функция проверяет, является ли переданный символ буквой или цифрой. |
| 2 | int isalpha(int c) Эта функция проверяет, является ли переданный символ буквой. |
| 3 | int iscntrl(int c) Эта функция проверяет, является ли переданный символ управляющим символом. |
| 4 | int isdigit(int c) Эта функция проверяет, является ли переданный символ десятичной цифрой. |
| 5 | int isgraph(int c) Эта функция проверяет, имеет ли переданный символ графическое представление. |
| 6 | int islower(int c) Эта функция проверяет, является ли переданный символ строчной буквой. |
| 7 | int isprint(int c) Эта функция проверяет, является ли переданный символ печатаемым. |
| 8 | int ispunct(int c) Эта функция проверяет, является ли переданный символ знаком пунктуации. |
| 9 | int isspace(int c) Эта функция проверяет, является ли переданный символ пробельным символом. |
| 10 | int isupper(int c) Эта функция проверяет, является ли переданный символ заглавной буквой. |
| 11 | int isxdigit(int c) Эта функция проверяет, является ли переданный символ шестнадцатеричной цифрой. |
Стандартная библиотека также включает две функции преобразования, которые принимают и возвращают "int".
| Порядковый номер | Функция и описание |
|---|---|
| 1 | int tolower(int c) Эта функция преобразует заглавную букву в строчную. |
| 2 | int toupper(int c) Эта функция преобразует строчную букву в заглавную. |
класс символов
| Порядковый номер | Классы символов и описание |
|---|---|
| 1 | Цифры Полный набор цифр { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } |
| 2 | Шестнадцатеричные цифры Набор { 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f } |
| 3 | Строчные буквы Набор { a b c d e f g h i j k l m n o p q r s t u v w x y z } |
| 4 | Заглавные буквы Множество {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z } |
| 5 | Буква Множество строчных и прописных букв |
| 6 | Буквенно-цифровой символ Множество цифр, строчных букв и прописных букв. |
| 7 | Символ пунктуации Множество ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ |
| 8 | Графический символ Множество буквенно-цифровых символов и символов пунктуации. |
| 9 | Пробельный символ Множество символов табуляции, новой строки, вертикальной табуляции, подачи страницы, возврата каретки и пробельных символов. |
| 10 | Печатный символ Множество буквенно-цифровых символов, символов пунктуации и пробельных символов. |
| 11 | Управляющий символ В кодировке ASCII восьмеричные коды этих символов находятся в диапазоне от 000 до 037, а также 177 (DEL). |
| 12 | пробельный символ Включает символы пробела и табуляции. |
| 13 | Буквенный символ Набор строчных и прописных букв. |