Стандартная библиотека C -<ctype.h>

Введение

Стандартная библиотека C:ctype.hЭтот заголовочный файл предоставляет некоторые функции, которые можно использовать для проверки и преобразования символов. Эти функции в основном используются для проверки типов символов (таких как буквы, цифры, пробельные символы и т. д.) и для преобразования регистра символов.

<ctype.h>Он предоставляет удобный набор функций для обработки классификации и преобразования символов, а также является важным инструментом для операций с символами в стандартной библиотеке C.

Ниже приведён простой пример, демонстрирующий, как использовать<ctype.h>Предоставляемые функции:

Пример

#include <stdio.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 не удовлетворяет описанному условию, эти функции возвращают ноль.

Порядковый номерФункция и описание
1int isalnum(int c)
Эта функция проверяет, является ли переданный символ буквой или цифрой.
2int isalpha(int c)
Эта функция проверяет, является ли переданный символ буквой.
3int iscntrl(int c)
Эта функция проверяет, является ли переданный символ управляющим символом.
4int isdigit(int c)
Эта функция проверяет, является ли переданный символ десятичной цифрой.
5int isgraph(int c)
Эта функция проверяет, имеет ли переданный символ графическое представление.
6int islower(int c)
Эта функция проверяет, является ли переданный символ строчной буквой.
7int isprint(int c)
Эта функция проверяет, является ли переданный символ печатаемым.
8int ispunct(int c)
Эта функция проверяет, является ли переданный символ знаком пунктуации.
9int isspace(int c)
Эта функция проверяет, является ли переданный символ пробельным символом.
10int isupper(int c)
Эта функция проверяет, является ли переданный символ заглавной буквой.
11int isxdigit(int c)
Эта функция проверяет, является ли переданный символ шестнадцатеричной цифрой.

Стандартная библиотека также включает две функции преобразования, которые принимают и возвращают "int".

Порядковый номерФункция и описание
1int tolower(int c)
Эта функция преобразует заглавную букву в строчную.
2int 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Буквенный символ
Набор строчных и прописных букв.
Другие расширения