Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по функциям С++.doc
Скачиваний:
130
Добавлен:
02.05.2014
Размер:
3.57 Mб
Скачать

Realloc

-----------------------------------------------------------------

НазначениеПерераспределяет основную память

Синтаксис#include<stdlib.h>

void *realloc(void *block, size_t size);

Прототип в stdlib.h, alloc.h

Замечанияrealloc пытается уменьшить или увеличить

предварительно распределенную область памяти до

размера в size байт. Аргумент block указывает

на область памяти, полученную путем обращения к

malloc, calloc или realloc. Если block является

нулевым указателем, то realloc работает так же,

как malloc.

realloc изменяет размер распределенной памяти

до size байт, копируя при необходимости ее

содержимое в новые адреса.

Возвращаемоеrealloc возвращает адрес перераспределенной

значениеобласти памяти, который может отличаться от

адреса исходной области. Если область памяти не

может быть перераспределена или size == 0, то

realloc возвращает NULL.

Переносимостьrealloc доступна в системах UNIX и совместима с

ANSI C

См. также calloc,farrealloc,free,malloc

Пример См. malloc

-----------------------------------------------------------------

Rectangle

-----------------------------------------------------------------

НазначениеВычерчивает прямоугольник

Синтаксис #include<graphics.h>

void far rectangle(int left, int top,

int right,int bottom);

Прототип в graphics.h

Замечанияrectangle вычерчивает прямоугольник, используя

при этом текущие тип линии, толщину и цвет

вычерчивания.

(left,top) задают левый верхний угол прямоу-

гольника, а (right, bottom) - правый нижний.

ВозвращаемоеНет.

значение

ПереносимостьЭта функция работает только на IBM PC и

совместимых компьютерах с графическими

контроллерами.

См. также bar,bar3d,setcolor,setlinestyle

Пример int i;

for (i=0; i<10; i++)

rectangle(20-2*i,20-2*i, 10*(i+2), 10*(i+2));

-----------------------------------------------------------------

Registerbgidriver

-----------------------------------------------------------------

НазначениеСвязывает загруженный пользователем или

встроенный в систему драйвер графической

системы с самой графической системой.

Синтаксис #include<graphics.h>

int registerbgidriver(void (*driver)(void));

Прототип вgraphics.h

Замечанияregisterbgidriver позволяет пользователю

загружать файл драйвера и "регистрировать" его

в системе. Адрес драйвера в памяти передается

registerbgidriver и initgraph будет

использовать этот зарегистрированный драйвер.

Зарегистрированный пользователем драйвер может

быть загружен с диска в динамически

распределяемую память или преобразован в

объектный файл (.OBJ) путем использования

программы BINOBJ.EXE и скомпонован в

загрузочный модуль (.EXE).

Вызов registerbgidriver информирует графическую

систему о том, что драйвер, на который

указывает driver, был включен во время

компоновки. Эта функция проверяет,

действительно ли скомпонованная программа

является драйвером, и если является, то он

регистрируется во внутренних таблицах.

Встроенные драйверы более подробно

рассматриваются в Приложении D.

Указывая имя компонуемого драйвера при вызове

registerbgidriver, вы также сообщаете

компилятору (и компоновщику) о необходимости

компоновки объектного файла с этим именем.

Возвращаемоеregisterbgidriver возвращает отрицательный код

значениеошибки графической системы, если указанный

драйвер некорректен. В противном случае

registerbgidriver возвращает номер драйвера.

Если вы регистрируете созданный пользователем

драйвер, то должны передать результат

выполнения функции registerbgidriver функции

initgraph, для того чтобы номер драйвера мог

быть использован.

ПереносимостьЭта функция работает только на IBM PC и

совместимых компьютерах с графическими

контроллерами.

См. также graphresult,initgraph,installuserdriver,

registerbgifont

Пример /* Регистрация драйвера EGA/VGA */

if (registerbgidriver(EGAVGA_driver) < 0) exit(1);

-----------------------------------------------------------------