Программирование на C и C++

Онлайн справочник программиста на C и C++

_dos_read

unsigned _dos_read(int fd, void far *buf, unsigned count, unsigned *numread)

Прототип: 
Описание: 

Эта функция не определена стандар­том ANSI С.

Функция _dos_read() читает count байт из файла на диске, указанном файловым дескриптором fd. Чтение осуществляется в буфер, который указывается параметром buf. Число фактически про­читанных байт возвращается в параметре numread, и оно может быть меньше чем count в том случае, если конец файла достигается раньше, чем будет прочитано заданное количество байт. Файл должен быть открыт с помощью вызова функции _dos_creat(), _dos_open() или _dos_creatnew(). Фyнкция _dos_read() рассматривает все файлы как бинарные.

В случае успеха функция возвращает 0, и в случае ошибки возвращается ненулевое значение. В последнем случае переменная errno устанавливается в EACCESS (отказано в доступе) или EBADF (неверный дескриптор файла). Кроме того, при возникновении ошибки возвращаемая величина определена DOS и для того, чтобы узнать точный характер ошибки, необходимо познакомиться с технической документацией DOS.

Пример: 
Следующий фрагмент кода читает не более 128 символов из файла, который задан fd:
int fd;
unsigned count;
char *buf[128];
...
if(_dos_read(fd, buf, 128, &count))
printf("Error reading file.\n");