.\" -*- coding: UTF-8 -*- .\" Copyright 1999, Joseph Samuel Myers .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pread 2 "8 Febrero 2026" "Linux man\-pages 6.18" .SH NOMBRE pread, pwrite \- leen o escriben en una determinada posición de un descriptor de archivo .SH BIBLIOTECA Biblioteca Estándar C (\fIlibc\fP,\ \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBssize_t pread(\fPsize_t count; \fB int \fP\fIfd\fP\fB, void \fP\fIbuf\fP\fB[\fP\fIcount\fP\fB], size_t \fP\fIcount\fP\fB,\fP \fB off_t \fP\fIoffset\fP\fB);\fP \fBssize_t pwrite(\fPsize_t count; \fB int \fP\fIfd\fP\fB, const void \fP\fIbuf\fP\fB[\fP\fIcount\fP\fB], size_t \fP\fIcount\fP\fB,\fP \fB off_t \fP\fIoffset\fP\fB);\fP .fi .P .RS -4 Requisitos de Macros de Prueba de Características para glibc (véase \fBfeature_test_macros\fP(7)): .RE .P \fBpread\fP(), \fBpwrite\fP(): .nf _XOPEN_SOURCE >= 500 || /* Desde glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .SH DESCRIPCIÓN \fBpread\fP() lee hasta \fIcount\fP bytes del descriptor de fichero \fIfd\fP a partir de la posición \fIoffset\fP (desde el principio del fichero) en el área temporal que empieza en \fIbuf\fP. La posición del puntero de L/E del fichero no cambia. .P \fBpwrite\fP() escribe hasta \fIcount\fP bytes desde el buffer que empieza en \fIbuf\fP al descriptor de fichero \fIfd\fP a partir de la posición \fIoffset\fP. La posición del puntero del fichero no cambia. .P Debe ser posible realizar búsquedas sobre el fichero referenciado por \fIfd\fP. .SH "VALOR DEVUELTO" En caso de éxito, \fBpread\fP() devuelve el número de bytes leídos (un valor de cero nos indicará el final del archivo) y \fBpwrite\fP() devuelve el número de bytes escritos. .P No es un error que una llamada exitosa transfiera menos bytes de los solicitados (véanse \fBread\fP(2) y \fBwrite\fP(2)). .P En caso de error se devuelve \-1, y \fIerrno\fP se define con el valor correspondiente. .SH ERRORES \fBpread\fP() puede fallar y asignar a \fIerrno\fP cualquier error especificado por \fBread\fP(2) o \fBlseek\fP(2). \fBpwrite\fP() puede fallar y asignar a \fIerrno\fP cualquier error especificado por \fBwrite\fP(2) o \fBlseek\fP(2). .SH ESTÁNDARES POSIX.1\-2024. .SH HISTORIAL POSIX.1\-2001. .P Añadido en Linux 2.1.60; las entradas en la tabla de llamadas al sistema i386 se añadieron en Linux 2.1.69. La compatibilidad con la biblioteca C (incluida la emulación mediante \fBlseek\fP(2) en núcleos antiguos sin las llamadas al sistema) se añadió en glibc 2.1. .SS "Diferencias núcleo / biblioteca C" En Linux, las llamadas al sistema subyacentes se renombraron en Linux 2.6: \fBpread\fP() pasó a ser \fBpread64\fP() y \fBpwrite\fP() a ser \fBpwrite64\fP(). Los números de las llamadas al sistema se mantuvieron sin cambios. Las funciones contenedoras \fBpread\fP() y \fBpwrite\fP() de glibc gestionan el cambio de forma transparente. .P En algunas arquitecturas de 32 bits, la firma de llamada para estas llamadas al sistema difiere. El motivo ha sido descrit en \fBsyscall\fP(2). .SH NOTAS Las llamadas al sistema \fBpread\fP() y \fBpwrite\fP() son especialmente útiles en aplicaciones multihilo. Permiten que varios hilos realicen operaciones de E/S en el mismo descriptor de archivo sin verse afectados por los cambios en el archivo desplazado por otros hilos. .SH ERRORES .\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=43178 POSIX requiere que, al abrir un archivo con el indicador \fBO_APPEND\fP, no se afecte la ubicación donde \fBpwrite\fP() escribe los datos. Sin embargo, en Linux, si se abre un archivo con \fBO_APPEND\fP, \fBpwrite\fP() agregará datos al final del archivo, independientemente del valor de \fIoffset\fP. .SH "VÉASE TAMBIÉN" \fBlseek\fP(2), \fBread\fP(2), \fBreadv\fP(2), \fBwrite\fP(2) .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Juan Piernas y Marcos Fouces . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .