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

       

Read



     read

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

Синтаксис #include

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

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

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

В файле, открытом в текстовом режиме, функция read удаляет символы "возврат каретки" и выдает "конец файла" (EOF), при получении символа Ctrl-Z.

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

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

Максимально, read может ввести 65534 байта, т.к. 65535 это -1, индикатор ошибки.

Возвращаемое При успешном завершении возвращается положительное значение целое число, являющееся числом байт, помещенных в буфер; причем, если файл открывается в тексто- вом режиме, функция read не включает символы "возврата каретки" и символы Ctrl-z в число счи- танных байтов. По концу файла (EOF), функция воз- вращает нуль.

При ошибке функция возвращает значение -1, и гло- бальной переменной errno присваивается одно из следующих значений:

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

Переносимость Функция read поддерживается на системах UNIX.

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

Пример:

#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; }



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