[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Классификация символов

Здесь и далее в разделе 1 будут приведены некоторые часто используемые
библиотечные функции. Они будут описаны вкратце. Если вам нужна более
подробная информация об этих функциях, вы можете получить ее из
Справочного руководства программиста UNIX System V.
Страница Руководства CTYPE(3C) содержит описания нескольких макросов,
определяющих тип символа, т.е. является ли он цифрой, буквой и т.д.
Эти макроопределения содержатся в <ctype.h>. Эти макросы реализованы
переносимым образом. Они используют численный ASCII-код исследуемого
символа как индекс в таблице из 128 байт. Массив заранее
инициализирован, так что каждый байт содержит биты, соответствующие
атрибутам символа, имеющего этот код. Например, седьмой элемент
массива содержит атрибуты управляющего символа "звуковой сигнал". Эти
макросы выдают значение 1 (истина), если символ принадлежит к
соответствующему классу, и 0 - если не принадлежит. Например:
isalpha('A') возвращает 1
isupper('a') возвращает 0

  CTYPE(3C)

      #include <ctype.h>
      int isalpha(int c)        int isspace(int c)
      int isupper(int c)        int ispunct(int c)
      int islower(int c)        int isprint(int c)
      int isdigit(int c)        int isgraph(int c)
      int isxdigit(int c)       int iscntrl(int c)
      int isalnum(int c)        int isascii(int c)