fig14.29b

来自「unix环境编程」· 29B 代码 · 共 24 行

29B
24
字号
#include "apue.h"ssize_t             /* Write "n" bytes to a descriptor  */writen(int fd, const void *ptr, size_t n){	size_t		nleft;	ssize_t		nwritten;	nleft = n;	while (nleft > 0) {		if ((nwritten = write(fd, ptr, nleft)) < 0) {			if (nleft == n)				return(-1); /* error, return -1 */			else				break;      /* error, return amount written so far */		} else if (nwritten == 0) {			break;		}		nleft -= nwritten;		ptr   += nwritten;	}	return(n - nleft);      /* return >= 0 */}

⌨️ 快捷键说明

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