Хелпикс

Главная

Контакты

Случайная статья





Функции стандартной библиотеки для работы с символами (заголовочный файл ctype.h).



Функции стандартной библиотеки для работы с символами (заголовочный файл ctype.h).

Проверяет, является ли символ буквой или цифрой:

int isalnum(int ch);

Проверяет, является ли символ буквой

int isalpha(int ch);

Проверяет, является ли символ управляющим (символ del, табуляции и т.п.)

int iscntrl(int ch);

Проверяет, является ли символ цифрой

int isdigit (int ch);

Проверяет, является ли символ видимым (не является символом пробела, табуляции и т. д.)

int isgraph(int ch);

Проверяет, является ли символ буквой нижнего регистра

int islower (int ch);

Проверяет, является ли символ печатаемым (видимый или пробел)

int isprint(int ch);

Проверяет, является ли символ символом пунктуации(печатаемым, но не буквой, цифрой, пробелом):

int ispunct(int ch);

Проверяет, является ли символ разграничительным (пробел, табуляция, символ новой строки, символ новой страницы):

int isspace(int ch);

Проверяет, является ли символ буквой верхнего регистра:

int isupper (int ch);

Данные функции выделяют младший байт параметра ch (двоичный код символа) и возвращают значение true, если условие выполняется, или false в противном случае. Рекомендуется пользоваться стандартными функциями, а не писать собственные циклы проверки, так как это снижает количество ошибок в программе.

Проверяет, является ли символ шестнадцатеричной цифрой (цифры, а также буквы от А до F в нижнем или верхнем регистрах):

int isxdigit(int ch);

Перевод символа в нижний регистр:

int tolower (int ch);

Перевод символа в верхний регистр:

int toupper (int ch);

Данные функции также используют только младший байт параметра ch.

Все перечисленные функции получают в качестве параметра код символа, который имеет тип int. Поэтому они предназначены только для работы с однобайтовыми символами (кодировки ASCII).

Функции для работы с многобайтовыми символами

Для работы с многобайтными символами предназначены функции iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper.

Данные функции аналогичны функциям для работы с однобайтовыми символами, но принимают параметр типа wint_t. Например, функция iswalnum имеет формат, аналогичный формату функции isalnum, и отличается только типом аргумента:

int iswalnum (wint_t ch);

Также имеется функция, проверки многобайтового символа:

int iswctype(wint_t с, wctype_t desc);

Возвращает ненулевое значение, если символ с обладает свойством desc, или нулевое в противном случае.

Данная функция не имеет аналога для однобайтовых символов.

Тип wctype_t – структурный тип для преобразования символов расширенного набора.

В структуре данных wctype_t хранится информация, предназначенная для преобразования и классификации символов:

struct wctype_t{

long tmin;                       // Минимальный код символа

long tmax;                      // Максимальный код символа

unsigned char *index;    // Индекс классификации

unsigned int *type;        // Тип

long cmin;                      // Минимальный код для преобразований

long cmax;                      // Максимальный код для преобразования

long *code;                    // Код преобразования

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.