Provided by: manpages-es-dev_4.21.0-2_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  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.

Páginas de manual de Linux 6.03                 4 Diciembre 2022                                        pread(2)