readv、writev
#include<unistd.h> #include<sys/uio.h> #include<fcntl.h> int main() { int fd = open("aaa",O_RDWR); struct iovec buf[2]; /* buf[0].iov_base = malloc(3); buf[0].iov_len = 3; buf[1].iov_base = malloc(2); buf[1].iov_len = 2; readv(fd,buf,2); printf("%s\n",(char*)buf[0].iov_base); printf("%s\n",(char*)buf[1].iov_base); */ char szbuf[10] = "123"; buf[0].iov_base = szbuf; buf[0].iov_len = strlen(szbuf); char szbuf2[10] = "abc"; buf[1].iov_base = szbuf2; buf[1].iov_len = strlen(szbuf2); writev(fd,buf,2); close(fd); return 0; }