Системное программирование в UNIX средствами Free Pascal




Описание


uses linux;

Function fdRead(filedes:longint;var buffer;size:longint):longint;

Первый параметр, filedes, является дескриптором файла, полученным во время предыдущего вызова fdopen или fdcreat. Второй параметр, buffer, – это ссылка на массив или структуру, в которую должны копироваться данные. Во многих случаях в качестве этого параметра будет выступать просто имя массива, например:

var

  fd:integer;

  nread:longint;

  buffer:array [0..SOMEVALUE-1] of char;

(* Дескриптор файла fd получен в результате вызова fdopen *)

.

.

.

nread := fdread(fd, buffer, SOMEVALUE);

Как видно из примера, третьим параметром вызова fdread является положительное число (имеющее тип longint), задающее число байтов, которое требуется считать из файла.

Возвращаемое вызовом fdread число (присваиваемое в примере переменной nread) содержит число байтов, которое было считано в действительности. Обычно это число запрошенных программой байтов, но, как будет показано в дальнейшем, – не всегда, и значение переменной nread может быть меньше. Кроме того, в случае ошибки вызов fdread возвращает значение -1. Это происходит, например, если передать fdread недопустимый дескриптор файла.




Содержание  Назад  Вперед