readv函数和writev函数

readv函数和writev函数

readv函数将数据从文件描述符中读到分散的内存块中,即分散读;writev函数则将多块分散的内存数据一并写入文件描述符中,即集中写。

1
2
3
#include <sys/uio.h>
ssize_t readv(int fd,const struct iovec * vector,int count);
ssize_t writev(int fd,const struct iovec * vector,int count);

参数介绍

fd参数是被操作的目标文件描述符。vector参数的类型是iovec结构数组(参考:通用数据读写)。count参数是vector数组的长度,即有多少块内存块需要从fd读出或者写入到fd中。

返回值

成功返回读出或写入的字节数。失败,则返回-1,并且设置errno。