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

📄 clog.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <bio.h>char *argv0;intopenlog(char *name){	int fd;	fd = open(name, OWRITE);	if(fd < 0)		fd = create(name, OWRITE, DMAPPEND|0666);	if(fd < 0){		fprint(2, "%s: can't open %s: %r\n", argv0, name);		return -1;	}	seek(fd, 0, 2);	return fd;}voidmain(int argc, char **argv){	Biobuf in;	int fd;	char *p, *t;	char buf[8192];	argv0 = argv[0];	if(argc < 3){		fprint(2, "usage: %s console logfile \n", argv0);		exits("usage");	}	fd = open(argv[1], OREAD);	if(fd < 0){		fprint(2, "%s: can't open %s: %r\n", argv0, argv[1]);		exits("open");	}	Binit(&in, fd, OREAD);	fd = openlog(argv[2]);	for(;;){		if(p = Brdline(&in, '\n')){			p[Blinelen(&in)-1] = 0;			t = ctime(time(0));			t[19] = 0;			if(fprint(fd, "%s: %s\n", t, p) < 0){				close(fd);				fd = openlog(argv[2]);				fprint(fd, "%s: %s\n", t, p);			}		} else if(Blinelen(&in) == 0)	// true eof			break;		else {			Bread(&in, buf, sizeof buf);		}	}	exits(0);}

⌨️ 快捷键说明

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