CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setblock
setblock
Функция Модифицирует размер ранее выделенного сегмента памяти. Синтаксис #include<dos.h> int setblock(unsigned segx, unsigned newsize); Файл, содержащий dos.h прототип Описание setblock изменяет размер сегмента памяти. segx - адрес сегмента, который был получен при вызове функции allocmem. newsize - это новый необходимый размер сегмента в параграфах. Возвращаемое setblock возвращает -1 при успешном завершении. значение При возникновении ошибки она возвращает размер в параграфах самого большого блока и устанавливает соответствующее значение в переменной _doserrno. Переносимость setblock уникальна для DOS. Функция не совместима с Windows. Смотрите также allocmem, freemem. Пример: #include<dos.h> #include<alloc.h> #include<stdio.h> #include<stdlib.h> int main(void) { unsigned int size,segp; int stat; size = 64; /* выделить 1024 байта (16 * 64) */ stat = allocmem(size,&segp); if(stat == -1) printf("Память выделена в сегменте %X\n",segp); else { printf("Ошибка. Максимальный размер блока: %d\n",stat); exit(1); } stat = setblock(segp,size*2); if(stat == -1) printf("Расширенный блок в сегменте %X\n",segp); else printf("Ошибка. Максимальный размер блока: %d\n",stat); freemem(segp); return 0; }