1 |
/* Structure for scatter/gather I/O. */ 说明: 成员iov_base指向一个缓冲区,这个缓冲区是存放readv所接收的数据或是writev将要发送的数据。 iov_len确定了接收的最大长度以及实际写入的长度。 readv和wirtev是read和write的衍生函数(v是vector的意思),readv和wirtev可以再一个 原子操作中读取或写入多个缓冲区。 头文件:#include <sys/uio.h> 原型: ssize_t readv(int fd, const struct iovec *iov, int iovcnt); ssize_t writev(int fd, const struct iovec *iov, int iovcnt); 参数: fd是 iov是读或写所用的I/O向量; 返回值: readv所读取的字节数或writev所写入的字节数; 如果有错误发生,就会返回-1,错误代码存在errno中。 例子: /* * #include <sys/uio.h> struct iovec iov[3]; */ |