• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cbits函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: casehcode

void
casehcode(void)
{
	tchar	c, d;
	int	k;

	lgf++;
	if (skip(1))
		return;
	do {
		c = getch();
		if (skip(1))
			break;
		d = getch();
		if (c && d && !ismot(c) && !ismot(d)) {
			if ((k = cbits(c)) >= nhcode) {
				hcode = realloc(hcode, (k+1) * sizeof *hcode);
				memset(&hcode[nhcode], 0,
					(k+1-nhcode) * sizeof *hcode);
				nhcode = k+1;
			}
			hcode[k] = cbits(d);
		}
	} while (!skip(0));
}
开发者ID:aksr,项目名称:heirloom,代码行数:25,代码来源:n5.c


示例2: n_setps

void n_setps(void )
{
	int i, j;

	i = cbits(getch());
	if (isdigit(i)) {		/* \sd or \sdd */
		i -= '0';
		if (i == 0)		/* \s0 */
			;
		else if (i <= 3 && (ch=getch()) && isdigit(cbits(ch))) {	/* \sdd */
			ch = 0;
		}
	} else if (i == '(') {		/* \s(dd */
		getch();
		getch();
	} else if (i == '+' || i == '-') {	/* \s+, \s- */
		j = cbits(getch());
		if (isdigit(j)) {		/* \s+d, \s-d */
			;
		} else if (j == '(') {		/* \s+(dd, \s-(dd */
			getch();
			getch();
		}
	}
}
开发者ID:n-t-roff,项目名称:DWB3.3,代码行数:25,代码来源:n6.c


示例3: setbra

void setbra(void)
{
	int k;
	Tchar i, *j, dwn;
	int cnt, delim;
	Tchar brabuf[NC];

	if (ismot(i = getch()))
		return;
	delim = cbits(i);
	j = brabuf + 1;
	cnt = 0;
	if (NROFF)
		dwn = (2 * t.Halfline) | MOT | VMOT;
	else
		dwn = EM | MOT | VMOT;
	while ((k = cbits(i = getch())) != delim && k != '\n' && j <= brabuf + NC - 4) {
		*j++ = i | ZBIT;
		*j++ = dwn;
		cnt++;
	}
	if (--cnt < 0)
		return;
	else if (!cnt) {
		ch = *(j - 2);
		return;
	}
	*j = 0;
	if (NROFF)
		*--j = *brabuf = (cnt * t.Halfline) | MOT | NMOT | VMOT;
	else
		*--j = *brabuf = (cnt * EM) / 2 | MOT | NMOT | VMOT;
	*--j &= ~ZBIT;
	pushback(brabuf);
}
开发者ID:00001,项目名称:plan9port,代码行数:35,代码来源:n9.c


示例4: setvline

int
setvline(void)
{
	int	i;
	tchar c, rem, ver, neg;
	int	cnt, delim, v;
	tchar vlbuf[NC];
	tchar *vlp;

	if (ismot(c = getch()))
		return (0);
	delim = cbits(c);
	dfact = lss;
	vflag++;
	i = quant(atoi(), VERT);
	dfact = 1;
	if (!i) {
		eat(delim);
		vflag = 0;
		return (0);
	}
	if ((cbits(c = getch())) == delim) {
		c = BOXRULE | chbits;	/* default box rule */
	} else
		getch();
	c |= ZBIT;
	neg = 0;
	if (i < 0) {
		i = -i;
		neg = NMOT;
	}
#ifdef NROFF
	v = 2 * t.Halfline;
#endif
#ifndef NROFF
	v = EM;
#endif
	cnt = i / v;
	rem = makem(i % v) | neg;
	ver = makem(v) | neg;
	vlp = vlbuf;
	if (!neg)
		*vlp++ = ver;
	if (absmot(rem) != 0) {
		*vlp++ = c;
		*vlp++ = rem;
	}
	while ((vlp < (vlbuf + NC - 3)) && cnt--) {
		*vlp++ = c;
		*vlp++ = ver;
	}
	*(vlp - 2) &= ~ZBIT;
	if (!neg)
		vlp--;
	*vlp++ = 0;
	pushback(vlbuf);
	vflag = 0;

	return (0);
}
开发者ID:drscream,项目名称:illumos-joyent,代码行数:60,代码来源:n9.c


示例5: casetr

void
casetr(int flag)
{
	register int i, j;
	tchar k;

	lgf++;
	skip(1);
	while ((i = cbits(k=getch())) != '\n') {
		if (ismot(k))
			return;
		if (ismot(k = getch()))
			return;
		if ((j = cbits(k)) == '\n')
			j = ' ';
		trtab[i] = j;
		if (flag & 1)
			trintab[j] = i;
		else
			trintab[j] = 0;
		if (flag & 2)
			trnttab[i] = i;
		else
			trnttab[i] = j;
	}
}
开发者ID:aksr,项目名称:heirloom,代码行数:26,代码来源:n5.c


示例6: eatblk

void
eatblk(int inblk)
{	register int cnt, i;
	tchar	ii;

	cnt = 0;
	do {
		if (ch)	{
			i = cbits(ii = ch);
			ch = 0;
		} else
			i = cbits(ii = getch0());
		if (i == ESC)
			cnt++;
		else {
			if (cnt == 1)
				switch (i) {
				case '{':  i = LEFT; break;
				case '}':  i = RIGHT; break;
				case '\n': i = 'x'; break;
				}
			cnt = 0;
		}
		if (i == LEFT) eatblk(1);
	} while ((!inblk && (i != '\n')) || (inblk && (i != RIGHT)));
	if (i == '\n') {
		nlflg++;
		tailflg = istail(ii);
	}
}
开发者ID:aksr,项目名称:heirloom,代码行数:30,代码来源:n5.c


示例7: setvline

void setvline(void)
{
	int i;
	Tchar c, rem, ver, neg;
	int cnt, delim, v;
	Tchar vlbuf[NC];
	Tchar *vlp;

	if (ismot(c = getch()))
		return;
	delim = cbits(c);
	dfact = lss;
	vflag++;
	i = quant(atoi0(), VERT);
	dfact = 1;
	if (!i) {
		eat(delim);
		vflag = 0;
		return;
	}
	if ((cbits(c = getch())) == delim) {
		c = BOXRULE | chbits;	/*default box rule*/
	} else 
		getch();
	c |= ZBIT;
	neg = 0;
	if (i < 0) {
		i = -i;
		neg = NMOT;
	}
	if (NROFF)
		v = 2 * t.Halfline;
	else {
		v = EM;
		if (v < VERT)		/* ATT EVK hack: Erik van Konijnenburg, */
			v = VERT;	/* hvlpb!evkonij, ATT NSI Hilversum, Holland */
	}

	cnt = i / v;
	rem = makem(i % v) | neg;
	ver = makem(v) | neg;
	vlp = vlbuf;
	if (!neg)
		*vlp++ = ver;
	if (absmot(rem) != 0) {
		*vlp++ = c;
		*vlp++ = rem;
	}
	while (vlp < vlbuf + NC - 3 && cnt--) {
		*vlp++ = c;
		*vlp++ = ver;
	}
	*(vlp - 2) &= ~ZBIT;
	if (!neg)
		vlp--;
	*vlp = 0;
	pushback(vlbuf);
	vflag = 0;
}
开发者ID:00001,项目名称:plan9port,代码行数:59,代码来源:n9.c


示例8: warn1

static int
warn1(void)
{
	char	name[NC];
	int	n, sign;
	size_t	i;
	tchar	c;

	switch (cbits(c = getch())) {
	case '-':
		c = getch();
		sign = -1;
		break;
	case '+':
		c = getch();
		sign = 1;
		break;
	default:
		sign = 0;
		break;
	case 0:
		return 1;
	}
	ch = c;
	n = atoi0();
	if ((i = cbits(ch)) != 0 && i != ' ' && i != '\n') {
		if (c != ch) {
			while (getach());
			errprint("illegal number, char %c", i);
			return 1;
		}
		for (i = 0; i < sizeof name - 2; i++) {
			if ((c = getach()) == 0)
				break;
			name[i] = c;
		}
		name[i] = 0;
		for (i = 0; warnnames[i].s; i++)
			if (strcmp(name, warnnames[i].s) == 0) {
				n = warnnames[i].n;
				break;
			}
		if (warnnames[i].s == NULL) {
			errprint("unknown warning category %s", name);
			return 1;
		}
	}
	switch (sign) {
	case 1:
		warn |= n;
		break;
	case -1:
		warn &= ~n;
		break;
	default:
		warn = n;
	}
	return 0;
}
开发者ID:n-t-roff,项目名称:heirloom-doctools,代码行数:59,代码来源:n9.c


示例9: eat

tchar 
eat(tchar c)
{
	register tchar i;

	while (i = getch(), !issame(i, c) &&  (cbits(i) != '\n'))
		;
	if (cbits(c) != ' ' && !issame(i, c))
		nodelim(c);
	return(i);
}
开发者ID:n-t-roff,项目名称:heirloom-doctools,代码行数:11,代码来源:n9.c


示例10: chget

int 
chget(int c)
{
	tchar i = 0;

	charf++;
	if (skip(0) || ismot(i = getch()) || cbits(i) == ' ' || cbits(i) == '\n') {
		ch = i;
		return(c);
	} else 
		return(cbits(i));
}
开发者ID:aksr,项目名称:heirloom,代码行数:12,代码来源:n5.c


示例11: n_setwd

void n_setwd(void)
{
	int base, wid;
	Tchar i;
	int	delim, emsz, k;
	int	savhp, savapts, savapts1, savfont, savfont1, savpts, savpts1;

	base = numtabp[ST].val = wid = numtabp[CT].val = 0;
	if (ismot(i = getch()))
		return;
	delim = cbits(i);
	savhp = numtabp[HP].val;
	numtabp[HP].val = 0;
	savapts = apts;
	savapts1 = apts1;
	savfont = font;
	savfont1 = font1;
	savpts = pts;
	savpts1 = pts1;
	setwdf++;
	while (cbits(i = getch()) != delim && !nlflg) {
		k = width(i);
		wid += k;
		numtabp[HP].val += k;
		if (!ismot(i)) {
			emsz = (INCH * pts + 36) / 72;
		} else if (isvmot(i)) {
			k = absmot(i);
			if (isnmot(i))
				k = -k;
			base -= k;
			emsz = 0;
		} else 
			continue;
		if (base < numtabp[SB].val)
			numtabp[SB].val = base;
		if ((k = base + emsz) > numtabp[ST].val)
			numtabp[ST].val = k;
	}
	setn1(wid, 0, (Tchar) 0);
	numtabp[HP].val = savhp;
	apts = savapts;
	apts1 = savapts1;
	font = savfont;
	font1 = savfont1;
	pts = savpts;
	pts1 = savpts1;
	mchbits();
	setwdf = 0;
}
开发者ID:n-t-roff,项目名称:DWB3.3,代码行数:50,代码来源:n6.c


示例12: copys

void copys(void)
{
	Tchar i;

	copyf++;
	if (skip())
		goto c0;
	if (cbits(i = getch()) != '"')
		wbf(i);
	while (cbits(i = getch()) != '\n')
		wbf(i);
c0:
	wbf((Tchar)0);
	copyf--;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:15,代码来源:n3.c


示例13: n_width

int
n_width(Tchar j)
{
	int i, k;

	if (iszbit(j))
		return 0;
	if (ismot(j)) {
		if (isvmot(j))
			return(0);
		k = absmot(j);
		if (isnmot(j))
			k = -k;
		return(k);
	}
	i = cbits(j);
	if (i < ' ') {
		if (i == '\b')
			return(-widthp);
		if (i == PRESC)
			i = eschar;
		else if (i == HX)
			return(0);
	}
	if (i == ohc)
		return(0);
	i = trtab[i];
	if (i < ' ')
		return(0);
	k = t.width[i] * t.Char;
	widthp = k;
	return(k);
}
开发者ID:n-t-roff,项目名称:DWB3.3,代码行数:33,代码来源:n6.c


示例14: caselpfx

void
caselpfx(void)
{
	int	n;
	tchar	c;

	if (skip(0)) {
		free(lpfx);
		lpfx = NULL;
		nlpfx = 0;
	} else {
		for (n = 0; ; n++) {
			if (n+1 >= nlpfx) {
				nlpfx += 10;
				lpfx = realloc(lpfx, nlpfx * sizeof *lpfx);
			}
			c = getch();
			if (nlflg)
				break;
			if (n == 0 && cbits(c) == '"')
				continue;
			lpfx[n] = c;
		}
		lpfx[n] = 0;
	}
}
开发者ID:aksr,项目名称:heirloom,代码行数:26,代码来源:n5.c


示例15: gettch

Tchar gettch(void)
{
	extern int c_isalnum;
	Tchar i;
	int j;

	if (TROFF)
		return getch();

	i = getch();
	j = cbits(i);
	if (ismot(i) || fbits(i) != ulfont)
		return(i);
	if (cu) {
		if (trtab[j] == ' ') {
			setcbits(i, '_');
			setfbits(i, FT);	/* default */
		}
		return(i);
	}
	/* should test here for characters that ought to be underlined */
	/* in the old nroff, that was the 200 bit on the width! */
	/* for now, just do letters, digits and certain special chars */
	if (j <= 127) {
		if (!isalnum(j))
			setfbits(i, FT);
	} else {
		if (j < c_isalnum)
			setfbits(i, FT);
	}
	return(i);
}
开发者ID:99years,项目名称:plan9,代码行数:32,代码来源:n7.c


示例16: casefc

void casefc(void)
{
	int i;
	Tchar j;

	gchtab[fc] &= ~FCBIT;
	fc = IMP;
	padc = ' ';
	if (skip() || ismot(j = getch()) || (i = cbits(j)) == '\n')
		return;
	fc = i;
	gchtab[fc] |= FCBIT;
	if (skip() || ismot(ch) || (ch = cbits(ch)) == fc)
		return;
	padc = ch;
}
开发者ID:00001,项目名称:plan9port,代码行数:16,代码来源:n9.c


示例17: casead

casead()
{
	register i;

	ad = 1;
	/*leave admod alone*/
	if (skip())
		return;
	switch (i = cbits(getch())) {
	case 'r':	/*right adj, left ragged*/
		admod = 2;
		break;
	case 'l':	/*left adj, right ragged*/
		admod = ad = 0;	/*same as casena*/
		break;
	case 'c':	/*centered adj*/
		admod = 1;
		break;
	case 'b': 
	case 'n':
		admod = 0;
		break;
	case '0': 
	case '2': 
	case '4':
		ad = 0;
	case '1': 
	case '3': 
	case '5':
		admod = (i - '0') / 2;
	}
}
开发者ID:n-t-roff,项目名称:DWB3.3,代码行数:32,代码来源:n5.c


示例18: setov

int
setov(void)
{
	int	j, k;
	tchar i, o[NOV];
	int delim, w[NOV];

	if (ismot(i = getch()))
		return (0);
	delim = cbits(i);
	for (k = 0; (k < NOV) && ((j = cbits(i = getch())) != delim) &&
	    (j != '\n'); k++) {
		o[k] = i;
		w[k] = width(i);
	}
	if (k >= NOV) {
		k = NOV - 1;
	}
	o[k] = w[k] = 0;
	if (o[0])
		for (j = 1; j; ) {
			j = 0;
			for (k = 1; o[k]; k++) {
				if (w[k-1] < w[k]) {
					j++;
					i = w[k];
					w[k] = w[k-1];
					w[k-1] = i;
					i = o[k];
					o[k] = o[k-1];
					o[k-1] = i;
				}
			}
		}
	else
		return (0);
	*pbp++ = makem(w[0] / 2);
	for (k = 0; o[k]; k++)
		;
	while (k > 0) {
		k--;
		*pbp++ = makem(-((w[k] + w[k+1]) / 2));
		*pbp++ = o[k];
	}

	return (0);
}
开发者ID:drscream,项目名称:illumos-joyent,代码行数:47,代码来源:n9.c


示例19: chkcoord

static void
chkcoord(uint64_t xy) {
	unsigned long e = 0;
	int i, c = 0;
	int x = KEY2X(xy);
	int y = KEY2Y(xy);
	for (i = 0; i < 9; i++) {
		struct bst_node *n;
		int xi = x + HOR  * (i % 3 - 1);
		int yi = y + VERT * (i / 3 - 1);
		if (i != 4) e <<= 4;
		if (xi >= 0 && yi >= 0 &&
		    !bst_srch(&coords, XY2KEY(yi, xi), &n)) {
			long s = cbits(n->data.l);
			if        (s == BAR ) {
				if (i == 4) c  = 1;
				else        e |= 1;
			} else if (s == DASH) {
				if (i == 4) c  = 2;
				else        e |= 2;
			} else {
				if (i == 4) return;
			}
		}
	}
	switch (e) {
	case 0x00002010: drawat(x, y, DOWN_RIGHT); break;
	case 0x00020010: drawat(x, y, DOWN_LEFT ); break;
	case 0x00022010: drawat(x, y, DOWN_HOR  ); break;
	case 0x11012220:
	case 0x22202000:
	case 0x01002200:
	case 0x01002220:
	case 0x01002000: drawat(x, y, UP_RIGHT  ); break;
	case 0x01121222:
	case 0x01020000: drawat(x, y, UP_LEFT   ); break;
	case 0x11022000:
	case 0x01122000:
	case 0x01022000: drawat(x, y, UP_HOR    ); break;
	case 0x00020001: /* empty upper right */
	case 0x02220001:
	case 0x00120001:
	case 0x01220001:
	case 0x11220001:
	case 0x10020001:
	case 0x10010001:
		if (c == 2) drawat(x + HOR, y, DOWN_LEFT);
		break;
	case 0x01020001:
		drawat(x      , y, UP_HOR   );
		drawat(x + HOR, y, DOWN_LEFT);
		break;
	case 0x00002100: /* empty upper left */
	case 0x00102100:
	case 0x00101100:
		if (c == 2) drawat(x - HOR, y, DOWN_RIGHT);
		break;
	}
}
开发者ID:saper,项目名称:heirloom-doctools,代码行数:59,代码来源:draw.c


示例20: seta

void seta(void)
{
	int i;

	i = cbits(getch()) - '0';
	if (i > 0 && i <= APERMAC && i <= frame->nargs)
		pushback(*(((Tchar **)(frame + 1)) + i - 1));
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:8,代码来源:n3.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cblas_daxpy函数代码示例发布时间:2022-05-30
下一篇:
C++ cbi函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap