CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
setdta
setdta
Функция Устанавливает адрес DTA. (Область связи с диском). Синтаксис #include<dos.h> void setdta(char far *dta); Файл, содержащий dos.h прототип Описание setdta изменяет текущий адрес области связи с диском (DTA) по значению параметра dta. Возвращаемое Нет. значение Переносимость setdta уникальна для DOS. Смотрите также getdta. Пример: #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; }