table of contents
PREAD(2) | Руководство программиста Linux | PREAD(2) |
ИМЯ¶
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.
СМОТРИ ТАКЖЕ¶
ПЕРЕВОД¶
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004
1999-01-21 | Linux 2.2.0-pre9 |