您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Bopen函数代码示例

51自学网 2021-06-01 19:55:26
  C++
这篇教程C++ Bopen函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Bopen函数的典型用法代码示例。如果您正苦于以下问题:C++ Bopen函数的具体用法?C++ Bopen怎么用?C++ Bopen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Bopen函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: s_allocinstack

/* initialize */extern Sinstack *s_allocinstack(char *file){	Sinstack *sp;	Biobuf *fp;	fp = Bopen(file, OREAD);	if(fp == nil)		return nil;	sp = malloc(sizeof *sp);	sp->depth = 0;	sp->fp[0] = fp;	return sp;}
开发者ID:99years,项目名称:plan9,代码行数:16,


示例2: openPW

static Biobuf*openPW(char *id, int mode){	int nfn = strlen(SECSTORE_DIR)+strlen(id)+20;	char *fn;	Biobuf *b;	if(validatefile(id) == nil || strcmp(id,".") == 0)		return nil;	fn = emalloc(nfn);	snprint(fn, nfn, "%s/who/%s", SECSTORE_DIR, id);	b = Bopen(fn, mode);	free(fn);	return b;}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:15,


示例3: readlife

voidreadlife(char *filename){	int c, i, j;	char name[256];	Biobuf *bp;	if ((bp = Bopen(filename, OREAD)) == nil) {		snprint(name, sizeof name, "/sys/games/lib/life/%s", filename);		if ((bp = Bopen(name, OREAD)) == nil)			sysfatal("can't read %s: %r", name);	}	draw(screen, screen->r, display->white, nil, ZP);	for (i = 0; i != NLIFE; i++) {		row[i] = col[i] = 0;		for (j = 0; j != NLIFE; j++)			life[i][j] = 0;	}	c = 0;	for (i = 1; i != NLIFE - 1 && c >= 0; i++) {		j = 1;		while ((c = Bgetc(bp)) >= 0 && c != '/n')			if (j != NLIFE - 1)				switch (c) {				case '.':					j++;					break;				case 'x':					birth(i, j);					j++;					break;				}	}	Bterm(bp);	centerlife();}
开发者ID:npe9,项目名称:harvey,代码行数:36,


示例4: readjobs

/* * parse user's cron file * other lines: minute hour monthday month weekday host command */Job *readjobs(char *file, User *user){	Biobuf *b;	Job *j, *jobs;	Dir *d;	int line;	d = dirstat(file);	if(!d)		return nil;	b = Bopen(file, OREAD);	if(!b){		free(d);		return nil;	}	jobs = nil;	user->lastqid = d->qid;	free(d);	for(line = 1; savec = Brdline(b, '/n'); line++){		savec[Blinelen(b) - 1] = '/0';		while(*savec == ' ' || *savec == '/t')			savec++;		if(*savec == '#' || *savec == '/0')			continue;		if(strlen(savec) > 1024){			clog("%s: line %d: line too long", user->name, line);			continue;		}		j = emalloc(sizeof *j);		j->time.min = gettime(0, 59);		if(j->time.min && (j->time.hour = gettime(0, 23))		&& (j->time.mday = gettime(1, 31))		&& (j->time.mon = gettime(1, 12))		&& (j->time.wday = gettime(0, 6))		&& getname(&j->host)){			j->cmd = emalloc(strlen(savec) + 1);			strcpy(j->cmd, savec);			j->next = jobs;			jobs = j;		}else{			clog("%s: line %d: syntax error", user->name, line);			free(j);		}	}	Bterm(b);	return jobs;}
开发者ID:99years,项目名称:plan9,代码行数:52,


示例5: http

voidhttp(Ticketreq *tr){	Ticket t;	char tbuf[TICKETLEN+1];	char key[DESKEYLEN];	char *p;	Biobuf *b;	int n;	n = strlen(tr->uid);	b = Bopen("/sys/lib/httppasswords", OREAD);	if(b == nil){		replyerror("no password file", raddr);		return;	}	/* find key */	for(;;){		p = Brdline(b, '/n');		if(p == nil)			break;		p[Blinelen(b)-1] = 0;		if(strncmp(p, tr->uid, n) == 0)		if(p[n] == ' ' || p[n] == '/t'){			p += n;			break;		}	}	Bterm(b);	if(p == nil) {		randombytes((uchar*)key, DESKEYLEN);	} else {		while(*p == ' ' || *p == '/t')			p++;		passtokey(key, p);	}	/* send back a ticket encrypted with the key */	randombytes((uchar*)t.chal, CHALLEN);	mkkey(t.key);	tbuf[0] = AuthOK;	t.num = AuthHr;	safecpy(t.cuid, tr->uid, sizeof(t.cuid));	safecpy(t.suid, tr->uid, sizeof(t.suid));	convT2M(&t, tbuf+1, key);	write(1, tbuf, sizeof(tbuf));}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:48,


示例6: buildre

voidbuildre(Dreprog *re[3]){	Biobuf *b;	if((b = Bopen(refile, OREAD)) == nil)		sysfatal("open %s: %r", refile);	re[0] = Breaddfa(b);	re[1] = Breaddfa(b);	re[2] = Breaddfa(b);	if(re[0]==nil || re[1]==nil || re[2]==nil)		sysfatal("Breaddfa: %r");	Bterm(b);}
开发者ID:00001,项目名称:plan9port,代码行数:16,


示例7: opn

Biobuf*opn(char *p){	Biobuf *fd;	while ((fd = Bopen(p, OREAD)) == 0) {		if(msflag || p == devnull)			fatal("Cannot open file %s - quitting/n", p);		else {			fprint(2, "Deroff: Cannot open file %s - continuing/n", p);			p = devnull;		}	}	linect = 0;	return(fd);}
开发者ID:n-t-roff,项目名称:Plan9_troff,代码行数:16,


示例8: main

voidmain(int argc, char *argv[]){	Biobuf stdin, stdout;	while (--argc > 0 && (*++argv)[0] == '-'){		switch ((*argv)[1]){		case 's':			strict = 1;			continue;		case 'j':			join = 1;			continue;		case 'l':			if((*argv)[2] != '/0'){				maxleng = atoi( &((*argv)[2]) );			}			else{				maxleng = atoi(*++argv);				argc--;			}			maxtabs = maxleng/TABLENG - 2;			maxleng -= (maxleng + 5)/10;			continue;		default:			fprint(2, "cb: illegal option %c/n", *argv[1]);			exits("boom");		}	}	Binit(&stdout, 1, OWRITE);	output = &stdout;	if (argc <= 0){		Binit(&stdin, 0, OREAD);		input = &stdin;		work();	} else {		while (argc-- > 0){			if ((input = Bopen( *argv, OREAD)) == 0){				fprint(2, "cb: cannot open input file %s/n", *argv);				exits("boom");			}			work();			argv++;		}	}	exits(0);}
开发者ID:00001,项目名称:plan9port,代码行数:47,


示例9: prepare

Biobuf *prepare(int i, char *arg){	struct line *p;	int j, h;	Biobuf *bp;	char *cp, buf[MAXLINELEN];	int nbytes;	Rune r;	bp = Bopen(arg, OREAD);	if (!bp) {		panic(mflag ? 0: 2, "cannot open %s: %r/n", arg);		return 0;	}	if (binary)		return bp;	nbytes = Bread(bp, buf, MIN(1024, MAXLINELEN));	if (nbytes > 0) {		cp = buf;		while (cp < buf+nbytes-UTFmax) {			/*			 * heuristic for a binary file in the			 * brave new UNICODE world			 */			cp += chartorune(&r, cp);			if (r == 0 || (r > 0x7f && r <= 0xa0)) {				binary++;				return bp;			}		}		Bseek(bp, 0, 0);	}	p = MALLOC(struct line, 3);	for (j = 0; h = readhash(bp, buf); p[j].value = h)		p = REALLOC(p, struct line, (++j+3));	len[i] = j;	file[i] = p;	input[i] = bp;			/*fix*/	if (i == 0) {			/*fix*/		file1 = arg;		firstchange = 0;	}	else		file2 = arg;	return bp;}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:47,


示例10: mapinit

static voidmapinit(char *mapfile){	int nf;	char *ln;	char *fields[2];	Biobuf *bp;	Map *map;	if (mapfile == nil)		return;	bp = Bopen(mapfile, OREAD);	if (bp == nil)		sysfatal("can't read %s", mapfile);	devmap = nil;	while ((ln = Brdline(bp, '/n')) != nil) {		ln[Blinelen(bp)-1] = '/0';		if (*ln == '/0' || *ln == '#')			continue;		nf = tokenize(ln, fields, nelem(fields));		if (nf != 2)			continue;		if(testconfig(fields[0]) != 0) {			print("bad `from' device %s in %s/n",				fields[0], mapfile);			continue;		}		map = malloc(sizeof *map);		map->from = strdup(fields[0]);		map->to =   strdup(fields[1]);		map->fdev = iconfig(fields[0]);		map->tdev = nil;		if (access(map->to, AEXIST) < 0) {			/*			 * map->to isn't an existing file, so it had better be			 * a config string for a device.			 */			if(testconfig(fields[1]) == 0)				map->tdev = iconfig(fields[1]);		}		/* else map->to is the replacement file name */		map->next = devmap;		devmap = map;	}	Bterm(bp);}
开发者ID:Requaos,项目名称:harvey,代码行数:46,


示例11: topcmd

static inttopcmd(char *arg){	int done, i, lines, n;	char buf[40], *p;	Biobuf *b;	if(*arg == 0)		return senderr("TOP requires a message number");	n = atoi(arg)-1;	if(n < 0 || n >= nmsg || msg[n].deleted)		return senderr("no such message");	arg = nextarg(arg);	if(*arg == 0)		return senderr("TOP requires a line count");	lines = atoi(arg);	if(lines < 0)		return senderr("bad args to TOP");	snprint(buf, sizeof buf, "%d/raw", msg[n].upasnum);	if((b = Bopen(buf, OREAD)) == nil)		return senderr("message disappeared");	sendok("");	while(p = Brdstr(b, '/n', 1)){		if(p[0]=='.')			Bputc(&out, '.');		Bwrite(&out, p, strlen(p));		Bwrite(&out, "/r/n", 2);		done = p[0]=='/0';		free(p);		if(done)			break;	}	for(i=0; i<lines; i++){		p = Brdstr(b, '/n', 1);		if(p == nil)			break;		if(p[0]=='.')			Bwrite(&out, ".", 1);		Bwrite(&out, p, strlen(p));		Bwrite(&out, "/r/n", 2);		free(p);	}	sendcrnl(".");	Bterm(b);	return 0;}
开发者ID:npe9,项目名称:harvey,代码行数:46,


示例12: main

voidmain(int argc, char **argv){	int i;	long a, ae;	char *p;	Entry e;	Binit(&boutbuf, 1, OWRITE);	dict = &dicts[0];	ARGBEGIN {		case 'd':			p = ARGF();			dict = 0;			if(p) {				for(i=0; dicts[i].name; i++)					if(strcmp(p, dicts[i].name)==0) {						dict = &dicts[i];						break;					}			}			if(!dict) {				err("unknown dictionary: %s", p);				exits("nodict");			}			break;		case 'D':			debug++;			break;	ARGEND }	USED(argc,argv);	bdict = Bopen(dict->path, OREAD);	ae = Bseek(bdict, 0, 2);	if(!bdict) {		err("can't open dictionary %s", dict->path);		exits("nodict");	}	for(a = 0; a < ae; a = (*dict->nextoff)(a+1)) {		linelen = 0;		e = getentry(a);		Bprint(bout, "%ld/t", a);		linelen = 4;	/* only has to be approx right */		(*dict->printentry)(e, 'h');	}	exits(0);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:46,


示例13: dssread

Img*dssread(char *file){	int nx, ny, scale, sumall;	Pix  *p, *pend;	uint8_t buf[21];	Biobuf *bp;	Img *ip;	if(debug)		Bprint(&bout, "reading %s/n", file);	bp = Bopen(file, OREAD);	if(bp == 0)		return 0;	if(Bread(bp, buf, sizeof(buf)) != sizeof(buf) ||	   buf[0] != 0xdd || buf[1] != 0x99){		werrstr("bad format");		return 0;	}	nx = getlong(buf+2);	ny = getlong(buf+6);	scale = getlong(buf+10);	sumall = getlong(buf+14);	if(debug)		fprint(2, "%s: nx=%d, ny=%d, scale=%d, sumall=%d, nbitplanes=%d,%d,%d/n",			file, nx, ny, scale, sumall, buf[18], buf[19], buf[20]);	ip = malloc(sizeof(Img) + (nx*ny-1)*sizeof(int));	if(ip == 0){		Bterm(bp);		werrstr("no memory");		return 0;	}	ip->nx = nx;	ip->ny = ny;	dodecode(bp, ip->a, nx, ny, buf+18);	ip->a[0] = sumall;	/* sum of all pixels */	Bterm(bp);	if(scale > 1){		p = ip->a;		pend = &ip->a[nx*ny];		while(p < pend)			*p++ *= scale;	}	hinv(ip->a, nx, ny);	return ip;}
开发者ID:aahud,项目名称:harvey,代码行数:46,


示例14: listkeys

static intlistkeys(Key **kp){	Biobuf *b;	Key *k;	int nk;	char *p, *f[20];	int nf;	mpint *mod, *ek;		*kp = nil;	if((b = Bopen("/mnt/factotum/ctl", OREAD)) == nil)		return -1;		k = nil;	nk = 0;	while((p = Brdline(b, '/n')) != nil){		p[Blinelen(b)-1] = '/0';		nf = tokenize(p, f, nelem(f));		if(nf == 0 || strcmp(f[0], "key") != 0)			continue;		p = find(f, nf, "proto");		if(p == nil || strcmp(p, "rsa") != 0)			continue;		p = find(f, nf, "n");		if(p == nil || (mod = strtomp(p, nil, 16, nil)) == nil)			continue;		p = find(f, nf, "ek");		if(p == nil || (ek = strtomp(p, nil, 16, nil)) == nil){			mpfree(mod);			continue;		}		p = find(f, nf, "comment");		if(p == nil)			p = "";		k = erealloc(k, (nk+1)*sizeof(k[0]));		k[nk].mod = mod;		k[nk].ek = ek;		k[nk].comment = emalloc(strlen(p)+1);		strcpy(k[nk].comment, p);		nk++;	}	Bterm(b);	*kp = k;	return nk;	}
开发者ID:bhanug,项目名称:harvey,代码行数:46,


示例15: main

intmain(int argc, char *argv[]){	int i;	Biobuf in, *inp;	Rune r;	for(i=0; i<nelem(htmlchars); i++){		chartorune(&r, htmlchars[i].utf);		htmlchars[i].value = r;	}	qsort(htmlchars, nelem(htmlchars), sizeof(htmlchars[0]), hccmp);	ARGBEGIN{	case 't':		title = ARGF();		if(title == nil)			usage();		break;	case 'd':		debug++;		break;	default:		usage();	}ARGEND	Binit(&bout, 1, OWRITE);	if(argc == 0){		header(title);		Binit(&in, 0, OREAD);		process(&in, "<stdin>");	}else{		header(title);		for(i=0; i<argc; i++){			inp = Bopen(argv[i], OREAD);			if(inp == nil)				sysfatal("can't open %s: %r", argv[i]);			process(inp, argv[i]);			Bterm(&(inp->Biobufhdr));		}	}	flush();	trailer();	exits(nil);}
开发者ID:n-t-roff,项目名称:Plan9_troff,代码行数:45,


示例16: _inputstdin

int_inputstdin(void (*push)(Istack*)){		Biobuf *b;	Istack *is;	if((b = Bopen("/dev/null", OREAD)) == nil){		fprint(2, "%s: open /dev/null: %r/n", argv0);		return -1;	}	dup(0, b->fid);	is = emalloc(sizeof *is);	is->b = b;	is->name = erunestrdup(L("stdin"));	is->lineno = 1;	push(is);	return 0;}
开发者ID:00001,项目名称:plan9port,代码行数:18,


示例17: populate

voidpopulate(char *name){	char *p;	Fileinf f;	ZipHead zh;	int ok, entries;	crctab = mkcrctab(ZCrcPoly);	ok = inflateinit();	if(ok != FlateOk)		sysfatal("inflateinit failed: %s", flateerr(ok));	bin = Bopen(name, OREAD);	if (bin == nil)		error("Can't open argument file");	entries = findCDir(bin);	if(entries < 0)		sysfatal("empty file");	while(entries-- > 0){		memset(&zh, 0, sizeof(zh));		if(!cheader(bin, &zh))			break;		f.addr = zh.off;		if(zh.iattr & IS_TEXT)			f.addr |= High64;		f.mode = (zh.madevers == IS_MSDOS && zh.eattr & IS_RDONLY)? 0444: 0644;		if (zh.meth == 0 && zh.uncsize == 0){			p = strchr(zh.file, '/0');			if(p > zh.file && p[-1] == '/')				f.mode |= (DMDIR | 0111);		}		f.uid = 0;		f.gid = 0;		f.size = zh.uncsize;		f.mdate = msdos2time(zh.modtime, zh.moddate);		f.name = zh.file + ((zh.file[0] == '/')? 1: 0);		poppath(f, 1);		free(zh.file);	}	return ;}
开发者ID:rminnich,项目名称:harvey,代码行数:44,


示例18: redirectinit

voidredirectinit(void){	static Biobuf *b = nil;	static Qid qid;	char *file, *line, *s, *host, *field[3];	static char pfx[] = "http://";	file = "/sys/lib/httpd.rewrite";	if(b != nil){		if(updateQid(Bfildes(b), &qid) == 0)			return;		Bterm(b);	}	b = Bopen(file, OREAD);	if(b == nil)		sysfatal("can't read from %s", file);	updateQid(Bfildes(b), &qid);	cleartab(redirtab);	cleartab(vhosttab);	while((line = Brdline(b, '/n')) != nil){		line[Blinelen(b)-1] = 0;		s = strchr(line, '#');		if(s != nil && (s == line || s[-1] == ' ' || s[-1] == '/t'))			*s = '/0'; 	/* chop comment iff after whitespace */		if(tokenize(line, field, nelem(field)) == 2){			if(strncmp(field[0], pfx, STRLEN(pfx)) == 0 &&			   strncmp(undecorated(field[1]), pfx, STRLEN(pfx)) != 0){				/* url -> filename */				host = field[0] + STRLEN(pfx);				s = strrchr(host, '/');				if(s)					*s = 0;  /* chop trailing slash */				insert(vhosttab, estrdup(host), estrdup(field[1]));			}else{				insert(redirtab, estrdup(field[0]), estrdup(field[1]));			}		}	}	syslog(0, HTTPLOG, "redirectinit pid=%d", getpid());}
开发者ID:99years,项目名称:plan9,代码行数:44,


示例19: stringit

voidstringit(char *str){	long posn, start;	int cnt = 0;	long c;	Rune buf[BUFSIZE];	if ((fin = Bopen(str, OREAD)) == 0) {		perror("open");		return;	}	start = 0;	posn = Boffset(fin);	while((c = Bgetrune(fin)) >= 0) {		if(isprint(c)) {			if(start == 0)				start = posn;			buf[cnt++] = c;			if(cnt == BUFSIZE-1) {				buf[cnt] = 0;				Bprint(&fout, "%8ld: %S .../n", start, buf);				start = 0;				cnt = 0;			}		} else {			 if(cnt >= minspan) {				buf[cnt] = 0;				Bprint(&fout, "%8ld: %S/n", start, buf);			}			start = 0;			cnt = 0;		}			posn = Boffset(fin);	}	if(cnt >= minspan){		buf[cnt] = 0;		Bprint(&fout, "%8ld: %S/n", start, buf);	}	Bterm(fin);}
开发者ID:99years,项目名称:plan9,代码行数:44,


示例20: qcmd

voidqcmd(char *arname, int count, char **files){	int fd, i;	Armember *bp;	Biobuf *bfile;	if(aflag || bflag) {		fprint(2, "ar: abi not allowed with q/n");		exits("error");	}	fd = openar(arname, ORDWR, 1);	if (fd < 0) {		if(!cflag)			fprint(2, "ar: creating %s/n", arname);		fd = arcreate(arname);	}	Binit(&bar, fd, OREAD);	Bseek(&bar,seek(fd,0,1), 1);	/* leave note group behind when writing archive; i.e. sidestep interrupts */	rfork(RFNOTEG);	Bseek(&bar, 0, 2);	bp = newmember();	for(i=0; i<count && files[i]; i++) {		file = files[i];		files[i] = 0;		bfile = Bopen(file, OREAD);		if(!bfile)			fprint(2, "ar: %s cannot open/n", file);		else {			mesg('q', file);			armove(bfile, 0, bp);			if (!arwrite(fd, bp))				wrerr();			free(bp->member);			bp->member = 0;			Bterm(bfile);		}	}	free(bp);	close(fd);}
开发者ID:CoryXie,项目名称:nix-os,代码行数:42,


示例21: patchopen

voidpatchopen(void){    Biobuf *b;    int32_t l, m;    char buf[100];    if(patchdb == 0) {        patchdb = eopen("patch");        sprint(buf, "%s/patchindex.scat", dir);        b = Bopen(buf, OREAD);        if(b == 0) {            fprint(2, "can't open %s/n", buf);            exits("open");        }        for(m=0,l=0; l<=Npatch; l++)            patchaddr[l] = m += Bgetc(b)*4;        Bterm(b);    }}
开发者ID:npe9,项目名称:harvey,代码行数:20,


示例22: hostobjs

voidhostobjs(void){	int i;	Biobuf *f;	Hostobj *h;		for(i=0; i<nhostobj; i++) {		h = &hostobj[i];		f = Bopen(h->file, OREAD);		if(f == nil) {			ctxt->cursym = S;			diag("cannot reopen %s: %r", h->pn);			errorexit();		}		Bseek(f, h->off, 0);		h->ld(f, h->pkg, h->len, h->pn);		Bterm(f);	}}
开发者ID:TomHoenderdos,项目名称:go-sunos,代码行数:20,


示例23: main

voidmain(int argc, char *argv[]){	int i;	Biobuf	*bin;	Binit(&bout, 1, OWRITE);	argv0 = argv[0];	ARGBEGIN {	default:	usage();	case 'a':	aflag = 1; break;	case 'g':	gflag = 1; break;	case 'h':	hflag = 1; break;	case 'n':	nflag = 1; break;	case 's':	sflag = 1; break;	case 'S':	nflag = Sflag = 1; break;	case 'u':	uflag = 1; break;	case 't':	tflag = 1; break;	case 'T':	Tflag = 1; break;	} ARGEND	if (argc == 0)		usage();	if (argc > 1)		multifile++;	for(i=0; i<argc; i++){		filename = argv[i];		bin = Bopen(filename, OREAD);		if(bin == 0){			error("cannot open %s", filename);			continue;		}		if (isar(bin))			doar(bin);		else{			Bseek(bin, 0, 0);			dofile(bin);		}		Bterm(bin);	}	exits(errs);}
开发者ID:Ahmah2009,项目名称:golang,代码行数:41,


示例24: swapin

intswapin(void){	char	*name;	while (sargc > 0 && **sargv == '-') {		if (match("-ms", *sargv)) {			*sargv = MACROS;			break;		}		if (match("-mm", *sargv)) {			*sargv = PYMACS;			break;		}		if (match("-TX", *sargv))			pr1403 = 1;		if (match("-", *sargv))			break;		sargc--; 		sargv++;	}	if (sargc <= 0) 		return(0);	/* file closing is done by GCOS troff preprocessor */	if(tabin)		Bterm(tabin);	ifile = *sargv;	name = ifile;	if (match(ifile, "-")) {		tabin = (Biobuf*)getcore(sizeof(Biobuf), 1);		Binit(tabin, 0, OREAD);	} else		tabin = Bopen(ifile, OREAD);	iline = 1;	Bprint(&tabout, ".ds f. %s/n", ifile);	Bprint(&tabout, ".lf %d %s/n", iline, name);	if (tabin == 0)		error("Can't open file");	sargc--;	sargv++;	return(1);}
开发者ID:99years,项目名称:plan9,代码行数:41,


示例25: loadexcludefile

voidloadexcludefile(char *file){	Biobuf *b;	char *p, *q;	int n, inc;	Reprog *re;	if((b = Bopen(file, OREAD)) == nil)		sysfatal("open %s: %r", file);	for(n=1; (p=Brdstr(b, '/n', 1)) != nil; free(p), n++){		q = p+strlen(p);		while(q > p && isspace((uint8_t)*(q-1)))			*--q = 0;		switch(p[0]){		case '/0':		case '#':			continue;		}		inc = 0;		if(strncmp(p, "include ", 8) == 0){			inc = 1;		}else if(strncmp(p, "exclude ", 8) == 0){			inc = 0;		}else			sysfatal("%s:%d: line does not begin with include or exclude", file, n);		if(strchr(p+8, ' '))			fprint(2, "%s:%d: warning: space in pattern/n", file, n);		if((re = glob2regexp(p+8)) == nil)			sysfatal("%s:%d: bad glob pattern", file, n);		pattern = vtrealloc(pattern, (npattern+1)*sizeof pattern[0]);		pattern[npattern].re = re;		pattern[npattern].include = inc;		npattern++;	}	Bterm(b);}
开发者ID:dancrossnyc,项目名称:harvey,代码行数:41,


示例26: readaddrs

/* read address file */voidreadaddrs(char *file){	Biobuf *b;	char *p;	b = Bopen(file, OREAD);	if(b == nil)		return;	while((p = Brdline(b, '/n')) != nil){		p[Blinelen(b)-1] = 0;		if(*p == '#')			continue;		if(*p == '!')			remaddr(p+1);		else			addaddr(p);	}	Bterm(b);}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:22,


示例27: _inputfile

int_inputfile(Rune *s, void (*push)(Istack*)){	Istack *is;	Biobuf *b;	char *t;		t = esmprint("%S", s);	if((b = Bopen(t, OREAD)) == nil){		free(t);		fprint(2, "%s: open %S: %r/n", argv0, s);		return -1;	}	free(t);	is = emalloc(sizeof *is);	is->b = b;	is->name = erunestrdup(s);	is->lineno = 1;	push(is);	return 0;}
开发者ID:00001,项目名称:plan9port,代码行数:21,


示例28: isobjfile

static intisobjfile(char *f){	int n, v;	Biobuf *b;	char buf1[5], buf2[SARMAG];	b = Bopen(f, OREAD);	if(b == nil)		return 0;	n = Bread(b, buf1, 5);	if(n == 5 && (buf1[2] == 1 && buf1[3] == '<' || buf1[3] == 1 && buf1[4] == '<'))		v = 1;	/* good enough for our purposes */	else{		Bseek(b, 0, 0);		n = Bread(b, buf2, SARMAG);		v = n == SARMAG && strncmp(buf2, ARMAG, SARMAG) == 0;	}	Bterm(b);	return v;}
开发者ID:JamesLinus,项目名称:inferno,代码行数:21,


示例29: mconfinit

static voidmconfinit(void){	int nf, pgsize = 0;	uint32_t size, userpgs = 0, userused = 0;	char *ln, *sl;	char *fields[2];	Biobuf *bp;	Mbank *mbp;	size = 64*MB;	bp = Bopen("#c/swap", OREAD);	if (bp != nil) {		while ((ln = Brdline(bp, '/n')) != nil) {			ln[Blinelen(bp)-1] = '/0';			nf = tokenize(ln, fields, nelem(fields));			if (nf != 2)				continue;			if (strcmp(fields[1], "pagesize") == 0)				pgsize = atoi(fields[0]);			else if (strcmp(fields[1], "user") == 0) {				sl = strchr(fields[0], '/');				if (sl == nil)					continue;				userpgs = atol(sl+1);				userused = atol(fields[0]);			}		}		Bterm(bp);		if (pgsize > 0 && userpgs > 0)			size = (((userpgs - userused)*3LL)/4)*pgsize;	}	mconf.memsize = size;	mbp = mconf.bank;	mbp->base = 0x10000000;			/* fake addresses */	mbp->limit = mbp->base + size;	mbp++;	mconf.nbank = mbp - mconf.bank;}
开发者ID:Requaos,项目名称:harvey,代码行数:40,


示例30: troff2rune

Runetroff2rune(Rune *rs){	char *file, *f[10], *p, s[3];	int i, nf;	Biobuf *b;		if(rs[0] >= Runeself || rs[1] >= Runeself)		return Runeerror;	s[0] = rs[0];	s[1] = rs[1];	s[2] = 0;	if(ntrtab == 0){		for(i=0; i<nelem(trinit) && ntrtab < nelem(trtab); i++){			trtab[ntrtab] = trinit[i];			ntrtab++;		}		file = FONTDIR "/devutf/utfmap";		if((b = Bopen(file, OREAD)) == nil)			sysfatal("open %s: %r", file);		while((p = Brdline(&(b->Biobufhdr), '/n')) != nil){			p[Blinelen(&(b->Biobufhdr))-1] = 0;			nf = getfields(p, f, nelem(f), 0, "/t");			for(i=0; i+2<=nf && ntrtab<nelem(trtab); i+=2){				chartorune(&trtab[ntrtab].r, f[i]);				memmove(trtab[ntrtab].t, f[i+1], 2);				ntrtab++;			}		}		Bterm(&(b->Biobufhdr));				if(ntrtab >= nelem(trtab))			fprint(2, "%s: trtab too small/n", argv0);	}		for(i=0; i<ntrtab; i++)		if(strcmp(s, trtab[i].t) == 0)			return trtab[i].r;	return Runeerror;}
开发者ID:n-t-roff,项目名称:Plan9_troff,代码行数:40,



注:本文中的Bopen函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ BotAI_BotInitialChat函数代码示例
C++ Boolean函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。