NOMBRE¶
pread, pwrite - leen de o escriben en un fichero a partir de una posición
dada
SINOPSIS¶
#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);
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¶
En caso de éxito se devuelve el número de bytes leídos o escritos
(un cero indica que no se ha escrito nada, en el caso de
pwrite, o un
fin de fichero, en el caso de
pread), o -1 en caso de error, en cuyo
caso se asigna a
errno un valor que indica el error.
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).
Unix98
HISTORIA¶
Las llamadas al sistema
pread y
pwrite se añadieron a Linux
en la versión 2.1.60. Las entradas en la tabla de llamadas al sistema de
la arquitectura i386 se añadieron en la versión 2.1.69. El soporte
de libc (incluyendo la emulación en los núcleos anteriores que
carecen de estas llamadas al sistema) se añadió en glibc 2.1.
VÉASE TAMBIÉN¶
read(2),
write(2),
lseek(2)