Russian Belarusian English German Japanese Ukrainian

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

Setdta

CuBook05

Функция

Устанавливает адрес DTA (Область связи с диском).
 
Синтаксис

#include<dos.h>
void setdta(char far *dta);
 
Прототип

dos.h
 
Описание

Функция setdta изменяет текущий адрес области связи с диском (DTA) по значению параметра dta.
 
Возвращаемое значение

Нет.
 
Переносимость

Функция setdta уникальна для DOS.
 
Пример

#include<process.h>
#include<string.h>
#include<stdio.h>
#include<dos.h>

int main(void)
{
char far *save_dta;
char line[80];
char buffer[256] = "SETDTA test!";
struct fcb blk;
int result;
/* ввести имя файла */
printf("Введите имя нового файла (без маршрута, например\
a:file.dat)\n");
gets(line);
/* записать имя файла в FCB */
if(!parsfnm(line,&blk,1))
printf("Устройство #%d файл: %s\n\n",blk.fcb_drive, blk.fcb_name);
/* создать файл, с использованием функций DOS, работающих с FCB */
if(bdosptr(0x16,&blk,0)==-1)
{
printf("Ошибка при создании файла\n");
exit(1);
}
/* сохранить старый DTA, создать новый */
save_dta = getdta();
setdta(buffer);
/* вывод в файл */
blk.fcb_recsize = 256;
blk.fcb_random = 0L;
result = randbwd(&blk,1);
/* проверить результат операции */
printf("result = %d",result);
if(!result)
printf("Запись закончена успешно\n");
else
{
perror("Ошибка диска\n");
exit(1);
}
/* закрыть файл */
if(bdosptr(0x10,&blk,0)==-1)
{
printf("Ошибка при закрытии файла\n");
exit(1);
}
/* восстановить DTA */
setdta(save_dta);
return 0;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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