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

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);

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