Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Setblock

CuBook05

Функция

Модифицирует размер ранее выделенного сегмента памяти.
 
Синтаксис

#include<dos.h>
int setblock(unsigned segx, unsigned newsize);
 
Прототип

dos.h
 
Описание

Функция setblock изменяет размер сегмента памяти. Функция segx - адрес сегмента, который был получен при вызове функции allocmem. Функция newsize - это новый необходимый размер сегмента в параграфах.
 
Возвращаемое значение

Функция setblock возвращает -1 при успешном завершении. При возникновении ошибки она возвращает размер в параграфах самого большого блока и устанавливает соответствующее значение в переменной _doserrno.
 
Переносимость

Функция setblock уникальна для DOS. Функция не совместима с Windows.
 
Пример

#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;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий