Linux c 源码(readn:从fd中读取n字节数据)

/* Read “n” bytes from a descriptor. */readn(int fd, void *vptr, size_t n){size_t nleft;ssize_t nread;char *ptr;ptr = vptr;nleft = n;while (nleft > 0) {if ( (nread = read(fd, ptr, nleft)) < 0) {if (errno == EINTR)nread = (-1);} else if (nread == 0)break;/* EOF */nleft -= nread;ptr += nread;}return(n – nleft);/* return >= 0 */}/* end readn */ssize_tReadn(int fd, void *ptr, size_t nbytes){ssize_tn;if ( (n = readn(fd, ptr, nbytes)) < 0)err_sys(“readn error”);return(n);}

使用的时候使用函数Readn,Readn是个包裹函数,编程的时候就不需要对函数进行错误处理了。

,少一点预设的期待,那份对人的关怀会更自在

Linux c 源码(readn:从fd中读取n字节数据)

相关文章:

你感兴趣的文章:

标签云: