Учись программированию на C++ Builder бесплатно!

Функция


Устанавливает адрес 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

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


Поиск по сайту