Разделы сайта:
Статьи по C и C++Стандартная библиотека CКнигиЮмор
Краткое знакомство с макросами библиотеки ctype.h

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

Следует сделать три важных замечания:

  • По историческим традициям, в С если символ идет в качастве параметра функции или макроса, то он имеет тип int, хотя должен иметь до CHAR_BIT значащих битов.
  • Все функции, работающие с регистром, как правило значат только для латинских букв. Для кириллицы, как правило предусмотрена функции самого компилятора или функция API операционной системы, в которой работает Ваша программа, можно также установить локализацию с помощью функции setlocale (locale.h). Для русского языка это будет setlocale(LC_CTYPE, "Russian_Russia.1251"), но данная функция не поддерживается в UNIX.
  • Согласно последним стандартам С буквенное пространство названий, начинающихся с is и to зарезервировано для будующих макросов ctype.h Аналогично, функции, начинающиеся со str используются для строк, а названия препроцессорных констант не должны начинаться с двух нижних черт: __MYPROGRAM__.

isalnum, iswalnum - проверка на латинскую букву или цифру*
isalpha, iswalpha - проверка на латинскую букву*
isascii, iswascii - проверка на символ из набора ASCII
iscntrl, iswcntrl - проверка на управляющий символ
isdigit, iswdigit - проверка на десятеричную цифру
isgraph, iswgraph - проверка на печатаемый симол (исключая пробел)
islower, iswlower - проверка на букву в нижнем регистре*
isprint, iswprint - проверка на печатаемый симол (включая пробел)
ispunct, iswpunct - проверка на символ пунктуации
isspace, iswspace - проверка на пробельный символ (пробел, новая строка или табуляция)
isupper, iswupper - проверка на букву в верхнем регистре*
isxdigit, iswxdigit - проверка на десятичную цифру

toascii - конвертация в символ набора ASCII
_tolower - конвертация буквы к нижнему регистру*
tolower - конвертация буквы к нижнему регистру если это буква и она в верхнем регистре*
_toupper - конвертация буквы к верхнему регистру*
toupper - конвертация буквы к верхнему регистру если это буква и она в нижнем регистре*

* - необходима установка локализации

Автор - Кляус Сергей aka myaut(Мяут).
Соавторство: Flex Ferrum.

Автор и разработчик сайта - Кляус Сергей. Спасибо Форуму на Исходниках.RU за помощь в сборе материалов.
X