Section: Manual del Progamador de Linux (3)
Updated: 5 Marzo 1998
Index Return to Main
Contents
readv, writev - lee o escribe datos en varios búferes
#include <sys/uio.h> int readv(int descfic, const struct iovec *vector, size_t num); int writev(int descfic, const struct iovec *vector, size_t num);
La función readv() lee num bloques del fichero asociado con el descriptor de fichero descfic en los múltiples búferes descritos por vector.
La función writev() escribe como mucho num bloques descritos por vector al fichero asociado con el descriptor de fichero descfic.
El puntero vector apunta a una struct iovec definida en <sys/uio.h> como
struct iovect { void *iovbase; /* Dirección de comienzo */ size_t iov_len; /* Número de bytes */ } ;
Los búferes se procesan en el orden vector[0], vector[1], ... vector[num].
La función readv() trabaja igual que read(2) excepto en que se rellenan múltiples búferes.
La función writev() trabaja como write(2) excepto en que se escriben múltiples búferes.
La función readv() devuelve el número de bytes ó -1 en caso de error; la función writev() devuelve el número de bytes escritos.
Las funciones readv() y writev() pueden fallar y poner errno a los siguientes valores:
No es recomendable mezclar llamadas a funciones como readv() o writev(), que operan con descriptores de ficheros, con las funciones de la biblioteca stdio; los resultados serán indefinidos y probablemente no los deseados.
(2), write(2)
This document was created by man2html, using
the manual pages.
Time: 06:16:26 GMT, January 22, 2005