|
- #include "unp.h"
- size_t /* Read "n" bytes from a descriptor */
- readn(int fd,void *vptr,size_t n)
- {
- ssize_t nleft,nread;
- char *ptr;
- ptr=vptr;
- nleft=n;
- while(nleft >0) {
- if((nread=read(fd,ptr,nleft))<0) {
- if(errno==EINTR)
- nread=0 ; /* and call read() again */
- else
- return(-1);
- }else if(nread ==0 )
- break; /*EOF*/
- nleft -= nread;
- ptr += nread ;
- }
- return(n-nleft); /* return >= 0 */
- }
复制代码
这个程序的作用是从一个描述符读n个字符.....没有else ??:rolleyes: |
|