readv和writev简单实现
来源:互联网 发布:剑三成男绯梨数据 编辑:程序博客网 时间:2024/05/16 00:53
readv和write函数用于在一次函数调用中读,写多个非连续缓冲区。
这两个函数的第二个参数是指向iovec结构数组的一个指针:
struct iovec{
void *iov_base; //starting address of buffer
size_t iov_len; //size of buffer
}
iov数组中的元素数由iovcnt说明。下图说明了readv和writev的参数和iovec结构。
writev以顺序iov[0],iov[1]至iov[iovcnt-1]从缓冲区中聚集输出数据。writev返回输出的字节总数。
readv则将读入的数据按照上述同样顺序散布到缓冲区中,readv总是先填满一个缓冲区,然后再填写下一个。readv返回读到
的总字节数。如果遇到文件结尾,已无数据可读,则返回0。
实践:
root@gmdz-virtual-machine:~# cat a.txt
123451234567890
123451234567890
root@gmdz-virtual-machine:~# ./a.out
rsize = 15
wsize = 15
rsize = 15
wsize = 15
0 0
- readv和writev简单实现
- readv()和writev()函数
- readv和writev函数
- 函数readv 和函数writev
- readv/writev
- writev与readv
- readv/writev系统调用
- readv/writev系统调用
- readv/writev 函数
- readv/writev 函数
- 【Linux】readv与writev
- readv与writev
- readv&writev函数
- 【Linux】readv与writev
- 套接字API(十二)readv和writev函数
- 《UNIX环境高级编程》笔记--readv和writev函数
- 网络编程学习笔记(readv和writev函数)
- iovec结构体 与readv和writev相关
- 过目不忘JS正则表达式
- compareTo和equals
- CSDN如何转载别人的文章
- [LeetCode]237. Delete Node in a Linked List(删除链表结点)
- Mac shell终端行首行尾命令介绍
- readv和writev简单实现
- Android开发基础总结
- select标签以及默认选中当前分类问题
- 【IMWeb训练营作业】:Vue清单应用
- 未来让人兴奋的11项科技
- 基于嵌入式操作系统的物联网安全
- c++中getline 的用法
- U
- Mac下启动、停止、重启以及自动启动MySQL