Описание функций Си

       

_Read



     _read

Функция Считывает данные из файла.

Синтаксис #include

int _read(int handle, void *buf, unsigned len);

Файл, содержащий io.h прототип

Описание Функция _read делают попытку считать len байт из файла, связанного с handle, в буфер, адресуемый параметром buf. Функция _read является непосредс- твенным вызовом операции чтения DOS.

В файле, открытом в текстовом режиме, функция read не удаляет символы "возврат каретки".

Параметр handle - это тот же самый параметр, что получают на выходе функций creat, open, dup, dup2.

Функция _read начинает чтение с текущего положе- ния указателя позиции в файле. Когда чтение за- вершено, функция увеличивают указатель файла на число считанных байт. При работе функций с уст- ройствами, байты данных считываются непосредст- венно с устройства.

_read может считать за один раз до 65534 байт, поскольку 65535 (0xFFFF) это -1, индикатор ошибки.

Возвращаемое При успешном завершении возвращается положительное значение целое число, являющееся числом байтов, помещенных в буфер; По концу файла (EOF), функция возвращает нуль. При ошибке _read возвращает -1, и глобаль- ной переменной errno присваивает одно из следую- щих значений:

EACCES - Доступ запрещен; EBADF - Неверный номер файла.

Переносимость _read уникальна для DOS.

Смотрите также

Пример:

#include

#include

#include

#include

#include

/* #include */

int main(buffer) { void *buf; int handle,bytes; buf = malloc(10); /* Поиск в текущей директории файла с именем TEST.$$$ и попытка чтения из него 10 байт. Перед запуском этой программы необходимо создать файл TEST.$$$ */ if((handle = open("TEST.$$$",O_RDONLY|O_BINARY))== -1) { printf("Ошибка при открытии файла.\n"); exit(1); } if((bytes = _read(handle,buf,10))==-1) { printf("Ошибка чтения.\n"); exit(1); } printf("Считано %d байт.\n",bytes); return 0; }



Содержание раздела