pread, pwrite - чтение или запись информации из описателя файла согласно заданному смещению
НАЗВАНИЕpread, pwrite - чтение или запись информации из описателя
файла согласно заданному смещению
СИНТАКСИС
#define _XOPEN_SOURCE 500
#include
ssize_t pread(int fd, void *buf, size_t count, off_t off-
set);
ssize_t pwrite(int fd, const void *buf, size_t count,
off_t offset);
ОПИСАНИЕ
pread() записывает максимум count байтов из описателя
файлов fd, начиная со смещения offset (от начала файла), в
буфер buf. Текущая позиция файла не изменяется.
pwrite() записывает максимум count байтов из буфера buf в
описатель файла fd, начиная со смещения offset. Текущая
позиция файла не изменяется.
Файл, заданный в fd, должен позволять изменение смещения.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении вызова возвращается количество
прочитанных или записанных байтов (0 в случае выполнения
функции pwrite означает, что никакой информации не было
записано, а в случае выполнения функции pread - конец
файла). При ошибке возвращается -1, а переменной errno
присваивается номер ошибки.
КОДЫ ОШИБОК
В случае возникновения ошибки pread возвращает коды
ошибок, равные read(2) или lseek(2); pwrite возвращает
коды ошибок, равные write(2) или lseek(2).
СООТВЕТСТВИЕ СТАНДАРТАМ
Unix98
ПРЕДЫСТОРИЯ
Системные вызовы pread и pwrite были внесены в ядра Linux,
начиная с версии 2.1.60; записи таблицы системных вызовов
i386 были добавлены в ядро 2.1.69. Поддержка libc
(включая эмуляцию в старых ядрах, не имеющих
соответствующих системных вызовов) была внесена в glibc
2.1.