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