readn.c

来自「unix环境编程」· C语言 代码 · 共 24 行

C
24
字号
#include "apue.h"ssize_t             /* Read "n" bytes from a descriptor  */readn(int fd, void *ptr, size_t n){	size_t		nleft;	ssize_t		nread;	nleft = n;	while (nleft > 0) {		if ((nread = read(fd, ptr, nleft)) < 0) {			if (nleft == n)				return(-1); /* error, return -1 */			else				break;      /* error, return amount read so far */		} else if (nread == 0) {			break;          /* EOF */		}		nleft -= nread;		ptr   += nread;	}	return(n - nleft);      /* return >= 0 */}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?