clog.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 64 行
C
64 行
#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 + =
减小字号Ctrl + -
显示快捷键?