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

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

51自学网 2021-06-03 09:24:22
  C++
这篇教程C++ utfrune函数代码示例写得很实用,希望能帮到您。

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

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

示例1: exportname

/* From Plan 9 to Unix */char*exportname(char* name){	Rune r;	int   nr;	char *uxname;	char *up;	if (name == 0 || 		(utfrune(name, altspc) == 0 &&		 utfrune(name,altlparen) == 0 &&		 utfrune(name,altrparen) == 0 &&		 utfrune(name,altamp) == 0 &&		 utfrune(name,altquote) == 0))		return name;	up = uxname = emalloc(strlen(name) + 1);	names[nnames++] = uxname;	while(*name != 0){		nr = chartorune(&r, name);		if (r == altspc)			r = ' ';		if (r == altlparen)			r = '(';		if (r == altrparen)			r = ')';		if (r == altamp)			r = '&';		if (r == altquote)			r = '/'';		up += runetochar(up, &r);		name += nr;	}	*up = 0;	return uxname;}
开发者ID:CoryXie,项目名称:nix-os,代码行数:36,


示例2: main

int main (int argc, char *argu[]) {	int n;	#include "argPrae.c"#include "argPost.c"		findFSRS (0);		for (;;) {		char *x, *y, *z, **argv;		int ii;				n = afgetln (&x, stdin);		if (n == 0) break;		if (n < 0) {			if (errno) eprintf ("%s:", argu[0]);			else return 0;		}		z = x;		argv = malloc (sizeof (char *) * (argc + 1));		if (!argv) eprintf ("%s:", argu[0]);		for (ii = 0; ii < argc - 1; ii++) argv[ii] = argu[ii + 1];		if (ii == 0) argv[ii++] = "echo";		/* ii now index of xargument in argv */				for (; x; x = y) {			int pid, c;						y = utfrune (x, fs);			if (y) {				Rune _;				int l = chartorune (&_, y);				y[0] = 0;				y += l;			}			else {				y = utfrune (x, rs);				if (y) y[0] = 0;				y = 0;			}						argv[ii]     = x;			argv[ii + 1] = 0;						pid = fork ();			if (pid == 0) {				execvp (argv[0], argv);				eprintf ("%s: %s:", argu[0], argv[0]);			}			waitpid (pid, &c, 0);			if (c != 0) return 1;		}	}}
开发者ID:strake,项目名称:coreutils,代码行数:55,


示例3: assemble

intassemble(char *file){	char *ofile, *p;	int i, of;	ofile = alloc(strlen(file)+3); // +3 for .x/0 (x=thechar)	strcpy(ofile, file);	p = utfrrune(ofile, pathchar());	if(p) {		include[0] = ofile;		*p++ = 0;	} else		p = ofile;	if(outfile == 0) {		outfile = p;		if(outfile){			p = utfrrune(outfile, '.');			if(p)				if(p[1] == 's' && p[2] == 0)					p[0] = 0;			p = utfrune(outfile, 0);			p[0] = '.';			p[1] = thechar;			p[2] = 0;		} else			outfile = "/dev/null";	}	of = create(outfile, OWRITE, 0664);	if(of < 0) {		yyerror("%ca: cannot create %s", thechar, outfile);		errorexit();	}	Binit(&obuf, of, OWRITE);	pass = 1;	pinit(file);	Bprint(&obuf, "go object %s %s %s/n", getgoos(), thestring, getgoversion());	for(i=0; i<nDlist; i++)		dodefine(Dlist[i]);	yyparse();	if(nerrors) {		cclean();		return nerrors;	}	Bprint(&obuf, "/n!/n");	pass = 2;	outhist();	pinit(file);	for(i=0; i<nDlist; i++)		dodefine(Dlist[i]);	yyparse();	cclean();	return nerrors;}
开发者ID:hfeeki,项目名称:go,代码行数:60,


示例4: etoken

static char*etoken(char *t, char *sep){	int quoting;	/* move to end of next token */	quoting = 0;	while(*t!='/0' && (quoting || utfrune(sep, *t)==nil)){		if(*t != '/''){			t++;			continue;		}		/* *t is a quote */		if(!quoting){			quoting = 1;			t++;			continue;		}		/* quoting and we're on a quote */		if(t[1] != '/''){			/* end of quoted section; absorb closing quote */			t++;			quoting = 0;			continue;		}		/* doubled quote; fold one quote into two */		t += 2;	}	return t;}
开发者ID:00001,项目名称:plan9port,代码行数:30,


示例5: namedtube

/* * Return a tube for name segmentname!tubename, * creating any of them if mkit is true and it is not found. */Tube*namedtube(char *name, ulong msz, int n, int mkit){	char *dir, *tname;	Tdir *tl;	Tube *t;	dumpdir("dir before namedtube");	name = strdup(name);	if(name == nil)		return nil;	tname = utfrune(name, '!');	if(tname == nil){		dir = "tubes";		tname = name;	}else{		dir = name;		*tname++ = 0;	}	t = nil;	tl = dirlookup(dir, mkit);	if(tl != nil)		t = tubelookup(tl, tname, msz, n, mkit);	free(name);	return t;}
开发者ID:CoryXie,项目名称:nix-os,代码行数:30,


示例6: getfields

intgetfields(char *str, char **args, int max, int mflag, char *set){	Rune r;	int nr, intok, narg;	if(max <= 0)		return 0;	narg = 0;	args[narg] = str;	if(!mflag)		narg++;	intok = 0;	for(;; str += nr) {		nr = chartorune(&r, str);		if(r == 0)			break;		if(utfrune(set, r)) {			if(narg >= max)				break;			*str = 0;			intok = 0;			args[narg] = str + nr;			if(!mflag)				narg++;		} else {			if(!intok && mflag)				narg++;			intok = 1;		}	}	return narg;}
开发者ID:29decibel,项目名称:golang,代码行数:34,


示例7: mkcmd

/* * convert command to run properly on the remote machine * need to escape the quotes so they don't get stripped */intmkcmd(char *cmd, char *buf, int len){	char *p;	int n, m;	n = sizeof "exec rc -c '" -1;	if(n >= len)		return 0;	strcpy(buf, "exec rc -c '");	while(p = utfrune(cmd, L'/'')){		p++;		m = p - cmd;		if(n + m + 1 >= len)			return 0;		strncpy(&buf[n], cmd, m);		n += m;		buf[n++] = '/'';		cmd = p;	}	m = strlen(cmd);	if(n + m + sizeof "'</dev/null>/dev/null>[2=1]" >= len)		return 0;	strcpy(&buf[n], cmd);	strcpy(&buf[n+m], "'</dev/null>/dev/null>[2=1]");	return 1;}
开发者ID:99years,项目名称:plan9,代码行数:31,


示例8: call

intcall(char *host){	char *na, *p;	na = netmkaddr(host, 0, "rexexec");	p = utfrune(na, L'!');	if(!p)		return -1;	p = utfrune(p+1, L'!');	if(!p)		return -1;	if(strcmp(p, "!rexexec") != 0)		return -2;	return dial(na, 0, 0, 0);}
开发者ID:99years,项目名称:plan9,代码行数:16,


示例9: needsrcquote

intneedsrcquote(int c){	if(c <= ' ')		return 1;	if(utfrune("`^#*[]=|//?${}()'<>&;", c))		return 1;	return 0;}
开发者ID:99years,项目名称:plan9,代码行数:9,


示例10: shcharin

/* *	search a string for unescaped characters in a pattern set */static char *shcharin(char *cp, char *pat){	Rune r;	int n, vargen;	vargen = 0;	while(*cp){		n = chartorune(&r, cp);		switch(r){		case '//':			/* skip escaped char */			cp += n;			n = chartorune(&r, cp);			break;		case '/'':			/* skip quoted string */		case '"':			cp = squote(cp+1, r);	/* n must = 1 */			if(!cp)				return 0;			break;		case '$':			if(*(cp+1) == '{')				vargen = 1;			break;		case '}':			if(vargen)				vargen = 0;			else if(utfrune(pat, r))				return cp;			break;		default:			if(vargen == 0 && utfrune(pat, r))				return cp;			break;		}		cp += n;	}	if(vargen){		SYNERR(-1);		fprint(2, "missing closing } in pattern generator/n");	}	return 0;}
开发者ID:00001,项目名称:plan9port,代码行数:46,


示例11: validUserName

intvalidUserName(char* name){	Rune *r;	static Rune invalid[] = L"#:,()";	for(r = invalid; *r != '/0'; r++){		if(utfrune(name, *r))			return 0;	}	return 1;}
开发者ID:99years,项目名称:plan9,代码行数:12,


示例12: outzfile

static voidoutzfile(Biobuf *b, char *p){	char *q, *q2;	while(p) {		q = utfrune(p, '/');		if(windows) {			q2 = utfrune(p, '//');			if(q2 && (!q || q2 < q))				q = q2;		}		if(!q) {			zfile(b, p, strlen(p));			return;		}		if(q > p)			zfile(b, p, q-p);		p = q + 1;	}}
开发者ID:gnanderson,项目名称:go,代码行数:21,


示例13: touch

voidtouch(char *name){	Bprint(&bout, "touch(%s)/n", name);	if(nflag)		return;	if(utfrune(name, '('))		atouch(name);		/* archive */	else if(chgtime(name) < 0) {		perror(name);		Exit();	}}
开发者ID:Earnestly,项目名称:plan9,代码行数:14,


示例14: cmdexec

intcmdexec(File *f, Cmd *cp){	int i;	Addr *ap;	Address a;	if(f && f->unread)		load(f);	if(f==0 && (cp->addr==0 || cp->addr->type!='"') &&	    !utfrune("bBnqUXY!", cp->cmdc) &&	    cp->cmdc!=('c'|0x100) && !(cp->cmdc=='D' && cp->ctext))		error(Enofile);	i = lookup(cp->cmdc);	if(i >= 0 && cmdtab[i].defaddr != aNo){		if((ap=cp->addr)==0 && cp->cmdc!='/n'){			cp->addr = ap = newaddr();			ap->type = '.';			if(cmdtab[i].defaddr == aAll)				ap->type = '*';		}else if(ap && ap->type=='"' && ap->next==0 && cp->cmdc!='/n'){			ap->next = newaddr();			ap->next->type = '.';			if(cmdtab[i].defaddr == aAll)				ap->next->type = '*';		}		if(cp->addr){	/* may be false for '/n' (only) */			static Address none = {0,0,0};			if(f)				addr = address(ap, f->dot, 0);			else	/* a " */				addr = address(ap, none, 0);			f = addr.f;		}	}	current(f);	switch(cp->cmdc){	case '{':		a = cp->addr? address(cp->addr, f->dot, 0): f->dot;		for(cp = cp->ccmd; cp; cp = cp->next){			a.f->dot = a;			cmdexec(a.f, cp);		}		break;	default:		i=(*cmdtab[i].fn)(f, cp);		return i;	}	return 1;}
开发者ID:00001,项目名称:plan9port,代码行数:50,


示例15: collecttoken

String *collecttoken(char *end){	String *s = newstring(0);	int c;	while((c=nextc())==' ' || c=='/t')		Straddc(s, getch()); /* blanks significant for getname() */	while((c=getch())>0 && utfrune(end, c)==0)		Straddc(s, c);	if(c != '/n')		atnl();	return s;}
开发者ID:npe9,项目名称:harvey,代码行数:14,


示例16: getword

char*getword(char *buf, Rune delim, char *error, int line){	char *p;	p = utfrune(buf, delim);	if(p == 0) {		if(error)			print("cmd_users: %s line %d/n", error, line);		return 0;	}	*p = '/0';	return p+1;}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:14,


示例17: okchar

/* Return false if 'c' is obviously not an alphanumeric character, * or if it is in the stoplist. */static Boolokchar(int c, char *stoplist) {	/*	 * Hard to get absolutely right.  Use what we know about ASCII	 * and assume anything above the Latin control characters is	 * potentially an alphanumeric.	 */	if(c <= ' ')		return false;	if(0x7F<=c && c<=0xA0)		return false;	if(utfrune(stoplist, c))		return false;	return 1;}
开发者ID:knusbaum,项目名称:Wily,代码行数:18,


示例18: tokenize

inttokenize(char *s, char **args, int maxargs){	int nargs;	for(nargs=0; nargs<maxargs; nargs++){		while(*s!='/0' && utfrune(qsep, *s)!=nil)			s++;		if(*s == '/0')			break;		args[nargs] = s;		s = qtoken(s, qsep);	}	return nargs;}
开发者ID:00001,项目名称:plan9port,代码行数:16,


示例19: mkdirs

voidmkdirs(char *name, char *namep){	char buf[2*LEN], *p;	int fd;	strcpy(buf, name);	for(p = &buf[namep - name]; p = utfrune(p, '/'); p++){		if(p[1] == '/0')			return;		*p = 0;		fd = create(buf, OREAD, 0775|DMDIR);		close(fd);		*p = '/';	}}
开发者ID:aahud,项目名称:harvey,代码行数:16,


示例20: alnum

intalnum(int c){	/*	 * Hard to get absolutely right.  Use what we know about ASCII	 * and assume anything above the Latin control characters is	 * potentially an alphanumeric.	 */	if(c<=' ')		return 0;	if(0x7F<=c && c<=0xA0)		return 0;	if(utfrune("!/"#$%&'()*+,-./:;<=>[email
C++ util_abort函数代码示例
C++ utf8str_to_wstring函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。