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

📄 t18.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include "a.h"/* * 18. Insertions from the standard input */voidr_rd(int argc, Rune **argv){	char buf[100];	char *s;	Rune *p;	Fmt fmt;	static int didstdin;	static Biobuf bstdin;		/*	 * print prompt, then read until double newline,	 * then run the text just read as though it were	 * a macro body, using the remaining arguments.	 */	if(fd2path(0, buf, sizeof buf) >= 0 && strstr(buf, "/dev/cons")){		if(argc > 1)			fprint(2, "%S", argv[1]);		else			fprint(2, "%c", 7/*BEL*/);	}		if(!didstdin){		Binit(&bstdin, 0, OREAD);		didstdin = 1;	}	runefmtstrinit(&fmt);	while((s = Brdstr(&bstdin, '\n', 0)) != nil){		if(s[0] == '\n'){			free(s);			break;		}		fmtprint(&fmt, "%s", s);		free(s);	}	p = runefmtstrflush(&fmt);	if(p == nil)		warn("out of memory in %Crd", dot);	ds(L(".rd"), p);	argc--;	argv++;	argv[0] = L(".rd");	runmacro('.', argc, argv);	ds(L(".rd"), nil);}/* terminate exactly as if input had ended */voidr_ex(int argc, Rune **argv){	USED(argc);	USED(argv);		while(popinput())		;}voidt18init(void){	addreq(L("rd"), r_rd, -1);	addreq(L("ex"), r_ex, 0);}

⌨️ 快捷键说明

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