Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
biosmemory----------------------------------------------------------------- Назначение Возвращает размер памяти. Синтаксис int biosmemory (void) Прототип в bios.h Замечания Эта функция возвращает размер памяти, используя прерывание 0х12 BIOS. Она не учитывает память адаптера дисплея и приращение памяти за счет плат расширения. Возвращаемое Размер памяти в блоках по 1К. значение Переносимость Эта функция работает только на IBM PC и совмес- тимых моделях. ---------------------------------------------------------------- biosprint---------------------------------------------------------------- Назначение Ввод/вывод принтера. Синтаксис int biosprint (int cmd,int byte,int port) Прототип в bios.h Замечания Эта функция выполняет различные операции для принтера, определяемого значением параметра port: 0 соответствует LPT1 1 соответствует LPT2 и т.д. Значение параметра cmd может быть следующим: 0 печать символа из byte 1 инициализация порта принтера 2 чтение статуса принтера Значение параметра byte может быть от 0 до 255 Возвращаемое Значение, возвращаемое любой из этих операций, значение представляет собой статус принтера, полученный посредством логической операции OR из соответс- твующих бит: Бит 0 0х01 тайм-аут Бит 3 0х08 ошибка ввода/вывода Бит 4 0х10 уже выбран Бит 5 0х20 отсутствие бумаги Бит 6 0х40 подтверждение Бит 7 0х80 не занят Переносимость Эта функция работает только на IBM PC и совмес- тимых моделях. ----------------------------------------------------------------- biostime----------------------------------------------------------------- Назначение Возвращает (устанавливает) время дня. Синтаксис long biostime (int cmd, long newtime) Прототип в bios.h Замечания Эта функция читает или устанавливает таймер BIOS. Этот таймер считает такты с наступления полуночи со скоростью примерно 18.2 такта в се- кунду. Если cmd = 0, то возвращается текущее значение таймера. Если cmd = 1, то таймер устанавливается в соот- ветствии со значением newtime Возвращаемое Когда biostime читает таймер BIOSa (cmd = 0), значение она возвращает его текущее значение. Переносимость Эта функция работает только на IBM PC и совмес- тимых моделях. ---------------------------------------------------------------- brk---------------------------------------------------------------- Назначение Изменяет выделенный для данных сегмент памяти. Синтаксис int brk (void *endds); Прототип в alloc.h Замечания brk используется для динамического изменения количества памяти, отводимой для сегмента дан- ных при вызове программы. Изменение производит- ся переустановкой значения "граница программы", которое представляет собой адрес первой ячейки за концом сегмента данных. Количество отводимой памяти увеличивается в соответствии с увеличе- нием значения "границы программы". brk устанавливает значение "границы" равным endds и в соответствии с этим изменяет размер отводимой памяти. Эта функция возвращает -1 без каких-либо изме- нений распределения памяти, если такое измене- ние требует выделения большего объема памяти, чем есть в наличии. Возвращаемое При успешном завершении brk возвращает значение значение 0. При ошибке функция возвращает -1, и errno уста- навливается в ENOMEM Не хватает памяти. Переносимость brk доступна в UNIX системах. Смотри также coreleft, sbrk ----------------------------------------------------------------- bsearch----------------------------------------------------------------- Назначение Бинарный поиск. Синтаксис #include void *bsearch(const void *key, const void *base, size_t nelem, size_t width, int (*femp)(const void *, const void *)); Прототип в stdlib.h Замечания Функция предназначена для поиска массива из nelem элементов в памяти и возвращает адрес первого появления в памяти такого массива дан- ных. В случае, если массив не найден, функция возвращает 0. Тип size_t, описанный с помощью typedef, ин- терпретируется как беззнаковое целое. - nelem задает число элементов таблицы - width определяет число байтов в каждом элементе таблицы. Функция сравнения *femp вызывается с двумя ар- гументами - elem1 и elem2. Каждый из этих аргу- ментов указывает на элемент сравнения. Функция сравнения сравнивает эти элементы и возвращает целое число, базирующееся на резуль- тате сравнения. В bsearch --------- Если ключ поиска fcmp возвращает больше чем *elem целое <0 равен *elem 0 меньше чем *elem целое >0 Обычно elem1 соответствует аргументу key, а elem2 является указателем на элемент просматри- ваемой таблицы. Возвращаемое Эта функция возвращает адрес первого элемента значение таблицы, удовлетворяющего ключу поиска. Если такой элемент не найден, то bsearch возвращает 0. Переносимость Доступна в UNIX - системах и совместима с ANSI Си. Смотри также lfind, lsearch, qsort Пример #include #include #define NELEMS (arr) (sizeof(arr)/sizeof (arr[0])) int numarray[]={123,145,512,627,800,993}; int numeric(int *p1,int *p2) { return(*p1 = *p2) } /* Возврат 1, если ключ в таблице, 0 - в противном случае */ int lookup(int key) { int *itemptr; /* bsearch() возвращает указатель на найденный элемент */ itemptr=(int*) bsearch (&key,numarray, NELEMS(numarray), sizeof(int),numeric); return(itemptr != NULL); } main() { printf("Есть 512 в таблице ? "); printf("%s\n",lookup(512) ? "ДА":"НЕТ"); } Результат выполнения программы Есть 512 в таблице? ДА ---------------------------------------------------------------- |