⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readline2.c

📁 unix网络编程第一卷socket编程书上的全部源代码
💻 C
字号:
/* include readline */#include	"unp.h"static ssize_tmy_read(int fd, char *ptr){	static int	read_cnt = 0;	static char	*read_ptr;	static char	read_buf[MAXLINE];	if (read_cnt <= 0) {		if ( (read_cnt = read(fd, read_buf, sizeof(read_buf))) < 0)			err_sys("read error");		else if (read_cnt == 0)			return(0);		read_ptr = read_buf;	}	read_cnt--;	*ptr = *read_ptr++ & 255;	return(1);}ssize_treadline(int fd, void *vptr, size_t maxlen){	int		n, rc;	char	c, *ptr;	ptr = vptr;	for (n = 1; n < maxlen; n++) {		if ( (rc = my_read(fd, &c)) == 1) {			*ptr++ = c;			if (c == '\n')				break;		} else if (rc == 0) {			*ptr = 0;			return(n - 1);	/* EOF, n - 1 bytes were read */		} else			return(-1);	/* error */	}	*ptr = 0;	return(n);}/* end readline */ssize_tReadline(int fd, void *ptr, size_t maxlen){	ssize_t		n;	if ( (n = readline(fd, ptr, maxlen)) == -1)		err_sys("readline error");	return(n);}

⌨️ 快捷键说明

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