Вперед Назад Содержание

2. Макросы и функции определения типов символов (ctype.h)

В этой главе описаны макросы (которые также доступны как процедуры) для классификации знаков в различные категории (алфавитные, числовые, yпpавляющие, пpобелы и так далее) или для выполнения простых операций с ними.

Макросы определяются в файле ctype.h.

2.1 isalnum - пpедикат буквы или цифpы

#include <ctype.h> int isalnum(int c);
isalnum по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом буквы или цифры, и ноль - в противном случае. Этот предикат определен для всех значений типа int.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isalnum.

isalnum возвращает ненулевое значение, если c - буква (a-z или a-z) или цифра (0-9).

Стандарт ANSI требует наличия функции isalnum.

Никаких процедур ОС не требуется.

2.2 isalpha - пpедикат буквы

#include <ctype.h> int isalpha(int c);
isalpha по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом буквы, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isalpha.

isalpha возвращает ненулевое значение, если c - буква (A-Z или a-z).

Стандарт ANSI требует наличия функции isalpha.

Никаких процедур ОС не требуется.

2.3 isascii - пpедикат знака ASCII

#include <ctype.h> int isascii(int c);
isascii выдает 0, если c - знак ASCII, и ноль - в противном случае. Этот предикат определен для всех значений типа int.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isascii.

isascii возвращает ненулевое значение, если младший байт c лежит между 0 и 127 (0x00-0x7f)

Стандарт ANSI требует наличия функции isascii.

Никаких процедур ОС не требуется.

2.4 iscntrl - пpедикат управляющего символа

#include <ctype.h> int iscntrl(int c);
iscntrl по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом управляющего знака, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef iscntrl.

iscntrl возвращает ненулевое значение, если c -знак удаления или простой управляющий знак (0x7f или 0x00-0x1f).

Стандарт ANSI требует наличия функции iscntrl.

Никаких процедур ОС не требуется.

2.5 isdigit - пpедикат десятичной цифpы

#include <ctype.h> int isdigit(int c);
isdigit по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом десятичной цифры, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isdigit.

isdigit возвращает ненулевое значение, если c - десятичная цифра (0-9).

Стандарт ANSI требует наличия функции isdigit.

Никаких процедур ОС не требуется.

2.6 islower - пpедикат строчной буквы

#include <ctype.h> int islower(int c);
islower по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом строчной буквы, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef islower.

islower возвращает ненулевое значение, если c - строчная буква (a-z).

Стандарт ANSI требует наличия функции islower.

Никаких процедур ОС не требуется.

2.7 isprint, isgraph - предикат видимого знака

#include <ctype.h> int isprint(int c); int isgraph(int c);
isprint по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом видимого символа, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isprint.

isprint возвращает ненулевое значение, если c - видимый знак (0x20-0x7e), isgraph работает точно также, за исключением обработки пробела (0x20).

Стандарт ANSI требует наличия функций isprint и isgraph.

Никаких процедур ОС не требуется.

2.8 ispunct - пpедикат знака препинания

#include <ctype.h> int ispunct(int c);
ispunct по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом видимого знака препинания, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef ispunct.

ispunct возвращает ненулевое значение, если c - видимый знак препинания (isgraph(c) && !isalnum(c)).

Стандарт ANSI требует наличия функции ispunct.

Никаких процедур ОС не требуется.

2.9 isspace - пpедикат знака пропуска

#include <ctype.h> int isspace(int c);
isspace по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом знака пропуска, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isspace.

isspace возвращает ненулевое значение, если c - пробел, tab, возврат каретки, новая строка, вертикальный tab или formfeed (0x00-0x0d,0x20).

Стандарт ANSI требует наличия функции isspace.

Никаких процедур ОС не требуется.

2.10 isupper - пpедикат прописной буквы

#include <ctype.h> int isupper(int c);
isupper по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом прописной буквы, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isupper.

isupper возвращает ненулевое значение, если c - прописная буква (a-z).

Стандарт ANSI требует наличия функции isupper.

Никаких процедур ОС не требуется.

2.11 isxdigit - пpедикат шеснадцатиричной цифpы

#include <ctype.h> int isxdigit(int c);
isxdigit по таблице ASCII выдает по заданному коду ненулевое значение, если он является кодом шеснадцатиричной цифры, и ноль - в противном случае. Этот предикат определен только если isacii(c) равно true или с является EOF.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef isxdigit.

isxdigit возвращает ненулевое значение, если c - шеснадцатиричная цифра (0-9, a-f или a-f).

Стандарт ANSI требует наличия функции isxdigit.

Никаких процедур ОС не требуется.

2.12 toascii - преобразовывает целые числа в коды ASCII

#include <ctype.h> int toascii(int c);
toascii - это макро, которое преобразовывает целые в числа из диапозона от 0 до 127, обнуляя все старшие байты.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef toascii.

toascii возвращает целое от 0 до 127.

Стандарт ANSI не требует наличия функции toascii.

Никаких процедур ОС не требуется.

2.13 tolower - преобразовывает целые числа в коды ASCII

#include <ctype.h> int tolower(int c); _int tolower(int c);
tolower - это макро, которое преобразовывает прописные буквы в строчные, оставляя остальные знаки без изменений. Это макро определено только для c из промежутка от EOF до 255.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef tolower.

_tolower выполняет то же самое преобразование, но может использоваться только с прописными буквами A-Z.

tolower возвращает строчный эквивалент c, если это знак от A до Z, и c в противном случае.

_tolower возвращает строчный эквивалент c, если это знак от A до Z, в противном случае поведение этого макро не определено.

Стандарт ANSI требует наличия функции tolower. _tolower не рекомендуется использовать в переносимых системах.

Никаких процедур ОС не требуется.

2.14 toupper - преобразовывает целые числа в коды ASCII

#include <ctype.h> int toupper(int c); _int toupper(int c);
toupper - это макро, которое преобразовывает строчные буквы в прописные, оставляя остальные знаки без изменений. Это макро определено только для c из промежутка от EOF до 255.

Вы можете использовать откомпилированную процедуру вместо определения макро, отменяя определение макро при помощи #undef toupper.

_toupper выполняет то же самое преобразование, но может использоваться только со строчными буквами a-z.

toupper возвращает прописной эквивалент c, если это знак от a до z, и c в противном случае.

_toupper возвращает прописной эквивалент c, если это знак от a до z, в противном случае поведение этого макро не определено.

Стандарт ANSI требует наличия функции toupper. _toupper не рекомендуется использовать в переносимых системах.

Никаких процедур ОС не требуется.


Вперед Назад Содержание