Программирование на C и C++

Онлайн справочник программиста на C и C++

Функции для работы со строками, памятью и символами

Библиотека Borland имеет богатый набор разнообразных функций для работы со строками, памя­тью и символами. По отношению к этим функциям строки являются массивами символов с нулевым символом в конце, память — набором смежных блоков ОЗУ, а символ — однобайтовой перемен­ной. Прототипы функций обработки строк представлены в заголовочном файле string.h. Функции для работы с памятью определены в файле mem.h, но некоторые из них могут использовать также и string.h. Функции для работы с символами в качестве заголовочного файла используют ctype.h.

Ввиду того, что С/С++ не производят проверки границ при операциях с массивами, предотвращение переполнения массива является заботой программистов. В случае переполнения массива его поведе­ние не определено. Практически это означает серьезные неисправности в работе программы.

В С/С++ под печатным символом понимается такой, который может быть отображен на тер­минальном устройстве. Сюда относятся символы со значениями кодов, лежащими между пробе­лом (0x20) и тильдой (0х7Е). Значения управляющих символов изменяются между (0) и (0x1F), а также в них входит символ DEL (0x7F). Символы ASCII имеют значения от 0 до 0x7F.

При объявлении функций для работы с символами указывается, что они воспринимают цело­численные аргументы. Хотя это и так, функция использует только младший байт аргумента. Это позволяет пользователю применять символьные аргументы, поскольку при вызове функции они автоматически приводятся к типу int.

Большинство функций, описанных в этой главе, определены стандартом ANSI С и являются полно­стью переносимыми. Единственным исключением являются включенные в Borland некоторые FAR- версии строковых функций. Они будут рассмотрены вместе с их обычными версиями. (FAR-версии не определены стандартом ANSI С). Эти функции могут использоваться только в 16-разрядной среде.

В нескольких функциях используется тип данных size_t. Этот тип определен в различных заго­ловочных файлах, которые используются описанными здесь функциями, и является беззнаковым целым типом.

Страницы