readline.c

来自「jos lab3代码」· C语言 代码 · 共 39 行

C
39
字号
#include <inc/stdio.h>#include <inc/error.h>#define BUFLEN 1024static char buf[BUFLEN];char *readline(const char *prompt){	int i, c, echoing;	if (prompt != NULL)		cprintf("%s", prompt);	i = 0;	echoing = iscons(0);	while (1) {		c = getchar();		if (c < 0) {			cprintf("read error: %e\n", c);			return NULL;		} else if (c >= ' ' && i < BUFLEN-1) {			if (echoing)				cputchar(c);			buf[i++] = c;		} else if (c == '\b' && i > 0) {			if (echoing)				cputchar(c);			i--;		} else if (c == '\n' || c == '\r') {			if (echoing)				cputchar(c);			buf[i] = 0;			return buf;		}	}}

⌨️ 快捷键说明

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