Provided by: manpages-es-dev_4.18.1-1_all bug

NOMBRE

       pread, pwrite - leen o escriben en una determinada posición de un descriptor de archivo

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #include <unistd.h>

       ssize_t pread(int fd, void buf[.count], size_t count,
                     off_t offset);
       ssize_t pwrite(int fd, const void buf[.count], size_t count,
                     off_t offset);

   Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

       pread(), pwrite():
           _XOPEN_SOURCE >= 500
               || /* Desde glibc 2.12: */ _POSIX_C_SOURCE >= 200809L

DESCRIPCIÓN

       pread()  lee hasta count bytes del descriptor de fichero fd a partir de la posición offset
       (desde el principio del fichero) en el área temporal que empieza en buf.  La posición  del
       puntero de L/E del fichero no cambia.

       pwrite()  escribe  hasta  count  bytes desde el buffer que empieza en buf al descriptor de
       fichero fd a partir de la posición offset.  La posición del puntero del fichero no cambia.

       Debe ser posible realizar búsquedas sobre el fichero referenciado por fd.

VALOR DEVUELTO

       On success, pread()  returns the number of bytes read (a return of zero indicates  end  of
       file)  and pwrite()  returns the number of bytes written.

       Note  that it is not an error for a successful call to transfer fewer bytes than requested
       (see read(2)  and write(2)).

       En caso de error se devuelve -1, y errno se define con el valor correspondiente.

ERRORES

       pread() puede fallar y  asignar  a  errno  cualquier  error  especificado  por  read(2)  o
       lseek(2).   pwrite()  puede  fallar  y  asignar  a  errno cualquier error especificado por
       write(2) o lseek(2).

VERSIONES

       The pread()  and pwrite()  system calls were added in Linux 2.1.60;  the  entries  in  the
       i386 system call table were added in Linux 2.1.69.  C library support (including emulation
       using lseek(2)  on older kernels without the system calls) was added in glibc 2.1.

ESTÁNDARES

       POSIX.1-2001, POSIX.1-2008.

NOTAS

       The  pread()   and  pwrite()   system  calls  are  especially  useful   in   multithreaded
       applications.   They  allow  multiple  threads  to perform I/O on the same file descriptor
       without being affected by changes to the file offset by other threads.

   Diferencias núcleo / biblioteca C
       On Linux, the underlying system calls were renamed in Linux 2.6: pread() became pread64(),
       and  pwrite()   became  pwrite64().  The system call numbers remained the same.  The glibc
       pread()  and pwrite()  wrapper functions transparently deal with the change.

       On some 32-bit architectures, the calling signature for these system calls differ, for the
       reasons described in syscall(2).

ERRORES

       POSIX  requires  that  opening  a file with the O_APPEND flag should have no effect on the
       location at which pwrite()  writes data.  However, on Linux, if  a  file  is  opened  with
       O_APPEND,  pwrite()   appends  data  to  the  end  of the file, regardless of the value of
       offset.

VÉASE TAMBIÉN

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

TRADUCCIÓN

       La traducción  al  español  de  esta  página  del  manual  fue  creada  por  Juan  Piernas
       <piernas@ditec.um.es> y Marcos Fouces <marcos@debian.org>

       Esta  traducción  es  documentación  libre;  lea  la  GNU General Public License Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones  de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción de esta página del manual, envíe un correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.