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

📄 params.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>voiderase(char *part){	char file[256];	int fd;	snprint(file, sizeof file, "%sctl", part);	fd = open(file, ORDWR);	if(fd < 0)		return;	fprint(fd, "erase");	close(fd);}char*readfile(char *file){	char buf[512];	int n, fd;	uchar *p;	fd = open(file, OREAD);	if(fd < 0)		sysfatal("opening %s: %r", file);	n = read(fd, buf, sizeof(buf)-1);	close(fd);	if(n < 0)		return "";	buf[n] = 0;	for(p = (uchar*)buf; *p; p++)		if(*p == 0xff){			*p = 0;			break;		}	return strdup(buf);}voidwritefile(char *file, char *data){	int fd;	fd = open(file, OWRITE);	if(fd < 0)		fd = create(file, OWRITE, 0664);	if(fd < 0)		return;	write(fd, data, strlen(data));	close(fd);}voidmain(int argc, char **argv){	int from = 0;	char *params;	char *file = "/tmp/tmpparams";	char *part;	ARGBEGIN {	case 'f':		from++;		break;	} ARGEND;	if(argc)		part = argv[0];	else		part = "/dev/flash/user";	if(from){		params = readfile(part);		writefile(file, params);	} else {		params = readfile(file);		erase(part);		writefile(part, params);		free(params);	}}

⌨️ 快捷键说明

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