CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
intdos
intdos
Функция Интерфейс с функциями DOS. Синтаксис #include <dos.h> int intdos(union REGS *inregs, union REGS *outregs); Файл, содержащий dos.h прототип Описание Функция генерирует прерывание DOS 0x21 для запуска заданной функции DOS. Значение параметра inregs->h.al определяет функцию DOS. После возврата из прерывания, функция копируют текущие значения регистров в параметр outregs, а состояние флага системного переноса в поле x.cflag параметра outregs. Если флаг переноса установлен, это означает что произошла ошибка. Примечание: параметры inregs и outregs могут указывать на одну и туже структуру. Возвращаемое После завершения вызова подпрограммы DOS, функция значение intdos возвращает значение регистра AX. Если флажок переноса установлен (outregs-->x.cflag !=0), что означает ошибку, переменная _doserrno получает в качестве значения код ошибки. Переносимость Функция уникальна для DOS. Смотрите также bdos, bdosptr, geninterrupt, int86, int86x, intdosx, intr Пример: #include <stdio.h> #include <dos.h> /* удаление файла. При успешном завершении возвращает 0, иначе ненулевое значение */ int delete_file(char near *filename) { union REGS regs; int ret; regs.h.ah = 0x41; /* удаление файла */ regs.x.dx = (unsigned) filename; ret = intdos(®s, ®s); /* if carry flag is set, there was an error */ return(regs.x.cflag ? ret : 0); } int main(void) { int err; err = delete_file("NOTEXIST.$$$"); printf("Able to delete NOTEXIST.$$$: %s\n", (!err) ? "YES" : "NO"); }