unsigned _dos_write(int fd, void far *buf, unsigned count, unsigned *numwritten)
Эта функция не определена стандартом ANSI С.
Функция _dos_write() пишет не более count байт в файл, который задается дескриптором fd. Данные берутся из буфера, на который указывает параметр buf. Число фактически записанных байт возвращается в параметре numwritten. Это число может быть меньше, чем заданное параметром count, в том случае, если диск оказывается полным. Все файлы рассматриваются как двоичные и не выполняется никаких преобразований символов.
В случае успеха функция _dos_write() возвращает 0, а в случае неудачи — ненулевую величину. Возвращаемая величина определена DOS, и в технической документации DOS можно узнать о конкретной природе возникающей ошибки. Кроме того, при возникновении ошибки переменная errno устанавливается либо равной значению ЕACCESS (доступ запрещен), либо EBADF (действительный дескриптор файла).
int fd;
unsigned count char *buf[128];
...
if(_dos_write(fd, buf, 128, &count))
printf("Error writing file.");