Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       pread, pwrite - читает из файлового дескриптора или пишет в него по заданному смещению

ОБЗОР

       #define _XOPEN_SOURCE 500

       #include <unistd.h>

       ssize_t pread(int fd, void *buf, size_t count, off_t offset);

       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 должен поддерживать позиционирование.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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

ОШИБКИ

       pread может вернуть ошибку и установить errno в любое значение из тех, что устанавливаются
       для read(2) или lseek(2).  pwrite может вернуть ошибку и установить errno в любое значение
       из тех, что устанавливаются для write(2) или lseek(2).

СООТВЕТСТВИЕ СТАНДАРТАМ

       Unix98

ИСТОРИЯ

       Системные  вызовы  pread  и pwrite были добавлен в Linux начиная с версии 2.1.60; записи в
       таблице системных вызовов для i386 были  добавлены  в  2.1.69.   Поддержка  libc  (включая
       эмуляцию на старых ядрах, без этих системных вызовов) была добавлена в glibc 2.1.

СМОТРИ ТАКЖЕ

       read(2), write(2), lseek(2)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004