我自已建了一个文件内容是: 1111 pppp 2222 cccc 3333 dddd 我这个程序的目的是想把每一行前面的那4位数字读出来 我是这样写的: char buf[4],buf1[4]; struct iovec iov[2]; iov[0].iov_base=buf; iov[0].iov_len=4; if((fd=open("/usr/tt.txt",O_RDONLY,0))==-1) { printf("open error\n"); exit(1); } if(readv(fd,&iov[0],1)!=4) { printf("readv buf error\n"); exit(0); } buf[4]=0; printf("%s",buf); if(lseek(fd,8...
by jiajunpp - C/C++ - 2009-07-22 02:01:47 阅读(2612) 回复(6)
原型如下: ssize_t readv(int filedesc,const struct iovec*iov,int iovcnt); 为什么这里的缓冲区要用const修饰,这还能把数据写进去吗? 糊涂了。。。
#include int select(int numfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval * timeout); numfds:文件描述符的数量从0开始,取最大的文件描述符大 readfds:当数据可以读出时返回 writefds:当writefds中任何一个准备好写入时返回 exceptfds:监控发生例外的文件描述符 timeout:NULL时将一直等待 FD_ZERO(fd_set * fds); //清除fd_set里的任何文件描述符 FD_SET(int fd, fd_set * fds); //把...
Linux Kernel&DD readv/writev系统调用 名称:readv/writev 功能:散布读/聚集写 头文件:#include 函数原形: ssize_t readv(int filedes,const struct iovec *iov,int iovcnt); ssize_t writev(int filedes,const struct iovec *iov,int iovcnt); 参数:filedes 文件描述符 iov 指向iovec结构数组的一个指针。 iovcnt 数组元素的个数 返回值:若成功则返回已读、...