|
|||
Функции стандартной библиотеки для работы с символами (заголовочный файл ctype.h). ⇐ ПредыдущаяСтр 4 из 4 Функции стандартной библиотеки для работы с символами (заголовочный файл 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; // Код преобразования
|
|||
|