乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
C 2.09 Linux函数库sys/uio.h
2018-06-17 08:23:04
58
0
0
admin
> 矢量io操作 #读数据写入N个缓冲区 **ssize_t readv(int filedes, const struct iovec iov[], int iovcnt)**: iovcnt 代表数组的元素数量,成功返回读的字节数,失败返回-1 ``` struct iovec { void *iov_base; //起始位置(其实是一个char的指针数组) size_t iov_len; //长度 }; ``` ``` #include <sys/types.h> #include <sys/uio.h> #include <fcntl.h> #include <stdio.h> main() { char buf1[5],buf2[5]; struct iovec iov[2]; iov[0].iov_base = buf1; iov[0].iov_len = 5; iov[1].iov_base = buf2; iov[1].iov_len = 5; int fd = open("./file",O_RDONLY); int size = readv(fd,iov,2); printf("size=%d,buf1=%s,buf2=%s\n",size,buf1,buf2); } ``` #将N个缓存区的数据写入文件 **ssize_t writev(int filedes, const struct iovec iov[], int iovcnt)**: iovcnt 代表数组的元素数量,成功返回写的字节数,失败返回-1
上一篇:
C 2.082 函数库poll.h
下一篇:
C 2.10 Linux函数库sys/resource.h
文档导航