readln.c

来自「聊天程序~使用LINUX c 语言实现~」· C语言 代码 · 共 46 行

C
46
字号
/* readln.c - readln, recvln */#include <cnaiapi.h>#include <stdio.h>int readln(char *buff, int buffsz) {	char	*bp = buff, c;	int	n;	while(bp - buff < buffsz && 	      (n = read(STDIN_FILENO, bp, 1)) > 0) {		if (*bp++ == '\n')			return (bp - buff);	}	if (n < 0)		return -1;	if (bp - buff == buffsz)		while (read(STDIN_FILENO, &c, 1) > 0 && c != '\n');	return (bp - buff);}int recvln(connection conn, char *buff, int buffsz) {	char	*bp = buff, c;	int	n;	while(bp - buff < buffsz && 	      (n = recv(conn, bp, 1, 0)) > 0) {		if (*bp++ == '\n')			return (bp - buff);	}	if (n < 0)		return -1;	if (bp - buff == buffsz)		while (recv(conn, &c, 1, 0) > 0 && c != '\n');	return (bp - buff);}

⌨️ 快捷键说明

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