writen.c

来自「linux下的聊天程序」· C语言 代码 · 共 47 行

C
47
字号
/* include writen *///#include	"unp.h"#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/wait.h> #define SERV_PORT 9877 #define LISTENQ 1024 #define MAXLINE 4096 #define SA struct sockaddr/* Write "n" bytes to a descriptor. */ssize_t writen(int fd, const void *vptr, size_t n){	size_t		nleft;	ssize_t		nwritten;	const char	*ptr;	ptr = vptr;	nleft = n;	while (nleft > 0) {		if ( (nwritten = write(fd, ptr, nleft)) <= 0) {			if (errno == EINTR)				nwritten = 0;	/* and call write() again */			else				return(-1);			/* error */		}		nleft -= nwritten;		ptr   += nwritten;	}	return(n);}/* end writen */voidWriten(int fd, void *ptr, size_t nbytes){	if (writen(fd, ptr, nbytes) != nbytes)		err_sys("writen error");}

⌨️ 快捷键说明

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