Чтение из файла без смещения файлового указателя
#include <unistd.h>ssize_t pread( int filedes,void *buff,size_t nbytes,off_t offset );ssize_t pread64( int filedes,void *buff,size_t nbytes,off64_t offset );
libc
Функция pread() аналогична read(), за исключением того, что она читает с указанной позиции в файле без изменения его указателя чтения.
Функция pread() позволяет читать вплоть до максимального значение смещения off_t
. Попытка выполнить pread() для файла, который не позволяет изменять позицию указателя чтения, приводит к ошибке.
Функция pread64() является 64
-битной версией pread().
Число считанных байт данных. Если возникла ошибка функция возвращает -1
, код ошибки записывается в errno.
O_NONBLOCK
и процесс будет задержан при операции чтения. pread() — POSIX 1003.1 X/Open Systems Interfaces Extension; pread64() — Поддержка больших файлов
close(), creat(), dup(), dup2(), errno, fcntl(), lseek(), open(), pipe(), pwrite(), read(), readblock(), readv(), select(), write(), writeblock(), writev()
Предыдущий раздел: Описание API системной библиотеки