pread

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)