亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? doprnt.c

?? minix操作系統最新版本(3.1.1)的源代碼
?? C
字號:
/* * doprnt.c - print formatted output *//* $Header: /cvsup/minix/src/lib/stdio/doprnt.c,v 1.1.1.1 2005/04/21 14:56:34 beng Exp $ */#include	<ctype.h>#include	<stdio.h>#include	<stdarg.h>#include	<string.h>#include	"loc_incl.h"/* gnum() is used to get the width and precision fields of a format. */static const char *gnum(register const char *f, int *ip, va_list *app){	register int	i, c;	if (*f == '*') {		*ip = va_arg((*app), int);		f++;	} else {		i = 0;		while ((c = *f - '0') >= 0 && c <= 9) {			i = i*10 + c;			f++;		}		*ip = i;	}	return f;}#if	_EM_WSIZE == _EM_PSIZE#define set_pointer(flags)				/* nothing */#elif	_EM_LSIZE == _EM_PSIZE#define set_pointer(flags)	(flags |= FL_LONG)#else#error garbage pointer size#define set_pointer(flags)		/* compilation might continue */#endif/* print an ordinal number */static char *o_print(va_list *ap, int flags, char *s, char c, int precision, int is_signed){	long signed_val;	unsigned long unsigned_val;	char *old_s = s;	int base;	switch (flags & (FL_SHORT | FL_LONG)) {	case FL_SHORT:		if (is_signed) {			signed_val = (short) va_arg(*ap, int);		} else {			unsigned_val = (unsigned short) va_arg(*ap, unsigned);		}		break;	case FL_LONG:		if (is_signed) {			signed_val = va_arg(*ap, long);		} else {			unsigned_val = va_arg(*ap, unsigned long);		}		break;	default:		if (is_signed) {			signed_val = va_arg(*ap, int);		} else {			unsigned_val = va_arg(*ap, unsigned int);		}		break;	}	if (is_signed) {		if (signed_val < 0) {			*s++ = '-';			signed_val = -signed_val;		} else if (flags & FL_SIGN) *s++ = '+';		else if (flags & FL_SPACE) *s++ = ' ';		unsigned_val = signed_val;	}	if ((flags & FL_ALT) && (c == 'o')) *s++ = '0';	if (!unsigned_val) {		 if (!precision)			return s;	} else if (((flags & FL_ALT) && (c == 'x' || c == 'X'))		    || c == 'p') {		*s++ = '0';		*s++ = (c == 'X' ? 'X' : 'x');	}	switch (c) {	case 'b':	base = 2;	break;	case 'o':	base = 8;	break;	case 'd':	case 'i':	case 'u':	base = 10;	break;	case 'x':	case 'X':	case 'p':	base = 16;	break;	}	s = _i_compute(unsigned_val, base, s, precision);	if (c == 'X')		while (old_s != s) {			*old_s = toupper(*old_s);			old_s++;		}	return s;}int_doprnt(register const char *fmt, va_list ap, FILE *stream){	register char	*s;	register int	j;	int		i, c, width, precision, zfill, flags, between_fill;	int		nrchars=0;	const char	*oldfmt;	char		*s1, buf[1025];	while (c = *fmt++) {		if (c != '%') {#ifdef	CPM			if (c == '\n') {				if (putc('\r', stream) == EOF)					return nrchars ? -nrchars : -1;				nrchars++;			}#endif			if (putc(c, stream) == EOF)				return nrchars ? -nrchars : -1;			nrchars++;			continue;		}		flags = 0;		do {			switch(*fmt) {			case '-':	flags |= FL_LJUST;	break;			case '+':	flags |= FL_SIGN;	break;			case ' ':	flags |= FL_SPACE;	break;			case '#':	flags |= FL_ALT;	break;			case '0':	flags |= FL_ZEROFILL;	break;			default:	flags |= FL_NOMORE;	continue;			}			fmt++;		} while(!(flags & FL_NOMORE));		oldfmt = fmt;		fmt = gnum(fmt, &width, &ap);		if (fmt != oldfmt) flags |= FL_WIDTHSPEC;		if (*fmt == '.') {			fmt++; oldfmt = fmt;			fmt = gnum(fmt, &precision, &ap);			if (precision >= 0) flags |= FL_PRECSPEC;		}		if ((flags & FL_WIDTHSPEC) && width < 0) {			width = -width;			flags |= FL_LJUST;		}		if (!(flags & FL_WIDTHSPEC)) width = 0;		if (flags & FL_SIGN) flags &= ~FL_SPACE;		if (flags & FL_LJUST) flags &= ~FL_ZEROFILL;		s = s1 = buf;		switch (*fmt) {		case 'h':	flags |= FL_SHORT; fmt++; break;		case 'l':	flags |= FL_LONG; fmt++; break;		case 'L':	flags |= FL_LONGDOUBLE; fmt++; break;		}		switch (c = *fmt++) {		default:#ifdef	CPM			if (c == '\n') {				if (putc('\r', stream) == EOF)					return nrchars ? -nrchars : -1;				nrchars++;			}#endif			if (putc(c, stream) == EOF)				return nrchars ? -nrchars : -1;			nrchars++;			continue;		case 'n':			if (flags & FL_SHORT)				*va_arg(ap, short *) = (short) nrchars;			else if (flags & FL_LONG)				*va_arg(ap, long *) = (long) nrchars;			else				*va_arg(ap, int *) = (int) nrchars;			continue;		case 's':			s1 = va_arg(ap, char *);			if (s1 == NULL)				s1 = "(null)";			s = s1;			while (precision || !(flags & FL_PRECSPEC)) {				if (*s == '\0')					break;				s++;				precision--;			}			break;		case 'p':			set_pointer(flags);			/* fallthrough */		case 'b':		case 'o':		case 'u':		case 'x':		case 'X':			if (!(flags & FL_PRECSPEC)) precision = 1;			else if (c != 'p') flags &= ~FL_ZEROFILL;			s = o_print(&ap, flags, s, c, precision, 0);			break;		case 'd':		case 'i':			flags |= FL_SIGNEDCONV;			if (!(flags & FL_PRECSPEC)) precision = 1;			else flags &= ~FL_ZEROFILL;			s = o_print(&ap, flags, s, c, precision, 1);			break;		case 'c':			*s++ = va_arg(ap, int);			break;#ifndef NOFLOAT		case 'G':		case 'g':			if ((flags & FL_PRECSPEC) && (precision == 0))				precision = 1;		case 'f':		case 'E':		case 'e':			if (!(flags & FL_PRECSPEC)) 				precision = 6;			if (precision >= sizeof(buf))				precision = sizeof(buf) - 1;			flags |= FL_SIGNEDCONV;			s = _f_print(&ap, flags, s, c, precision);			break;#endif	/* NOFLOAT */		case 'r':			ap = va_arg(ap, va_list);			fmt = va_arg(ap, char *);			continue;		}		zfill = ' ';		if (flags & FL_ZEROFILL) zfill = '0';		j = s - s1;		/* between_fill is true under the following conditions:		 * 1- the fill character is '0'		 * and		 * 2a- the number is of the form 0x... or 0X...		 * or		 * 2b- the number contains a sign or space		 */		between_fill = 0;		if ((flags & FL_ZEROFILL)		    && (((c == 'x' || c == 'X') && (flags & FL_ALT))			|| (c == 'p')			|| ((flags & FL_SIGNEDCONV)			    && ( *s1 == '+' || *s1 == '-' || *s1 == ' '))))			between_fill++;		if ((i = width - j) > 0)			if (!(flags & FL_LJUST)) {	/* right justify */				nrchars += i;				if (between_fill) {				    if (flags & FL_SIGNEDCONV) {					j--; nrchars++;					if (putc(*s1++, stream) == EOF)						return nrchars ? -nrchars : -1;				    } else {					j -= 2; nrchars += 2;					if ((putc(*s1++, stream) == EOF)					    || (putc(*s1++, stream) == EOF))						return nrchars ? -nrchars : -1;				    }				}				do {					if (putc(zfill, stream) == EOF)						return nrchars ? -nrchars : -1;				} while (--i);			}		nrchars += j;		while (--j >= 0) {			if (putc(*s1++, stream) == EOF)				return nrchars ? -nrchars : -1;		}		if (i > 0) nrchars += i;		while (--i >= 0)			if (putc(zfill, stream) == EOF)				return nrchars ? -nrchars : -1;	}	return nrchars;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久99精品免费观看不卡| 亚洲国产精品久久久久秋霞影院| 欧美精品一区二| 亚洲国产精品久久人人爱 | 日韩av网站在线观看| 欧美高清dvd| 亚洲国产精品麻豆| 亚洲综合免费观看高清完整版在线 | 亚洲欧美日韩人成在线播放| 91在线观看美女| 亚洲天堂网中文字| 精品视频1区2区| 国产永久精品大片wwwapp| 亚洲精品在线网站| 99精品视频在线播放观看| 亚洲一区二区在线播放相泽| 亚洲精品乱码久久久久| 精品久久国产字幕高潮| 99精品热视频| 欧洲精品在线观看| 国产精品自拍av| 香蕉加勒比综合久久| 久久人人超碰精品| 在线不卡中文字幕播放| 日韩欧美高清一区| 欧美系列在线观看| 成人免费精品视频| 久久国产人妖系列| 国产精品国产三级国产普通话三级| 在线观看国产日韩| 日韩欧美国产1| 亚洲天堂网中文字| 免费成人小视频| 午夜电影一区二区| 亚洲成人资源在线| 国产福利一区在线| 国产精品888| 欧美午夜片在线观看| 欧美电影免费观看高清完整版在线观看 | 精品理论电影在线| 亚洲品质自拍视频| 紧缚捆绑精品一区二区| 狠狠色丁香久久婷婷综合丁香| 婷婷久久综合九色综合伊人色| 久久国产日韩欧美精品| a美女胸又www黄视频久久| 99久久er热在这里只有精品66| 欧美日本在线看| 欧美亚洲精品一区| 欧美激情一二三区| 精品免费日韩av| 亚洲精品成人悠悠色影视| 国产精品一二三四区| 欧美美女直播网站| 亚洲婷婷国产精品电影人久久| 国产最新精品精品你懂的| 欧美亚洲国产bt| 亚洲欧美自拍偷拍| 国产精品国产三级国产aⅴ中文 | 香蕉av福利精品导航| 99久久精品免费| 国产欧美日韩麻豆91| 国产精品无码永久免费888| 国产精品欧美综合在线| 捆绑变态av一区二区三区| 欧美日韩中文精品| 亚洲一区自拍偷拍| 91官网在线观看| 欧美一区二区在线视频| 日韩欧美久久久| 午夜精品福利一区二区蜜股av | 男女男精品视频| 欧美日韩国产乱码电影| 亚洲国产精品久久一线不卡| 欧美在线观看一区| 一区二区三区四区av| 日韩黄色在线观看| 国产黄色91视频| 久久久国产综合精品女国产盗摄| 免费看黄色91| 精品国产乱子伦一区| 六月丁香婷婷久久| 精品sm捆绑视频| 国产一区二区伦理片| 久久你懂得1024| 懂色av一区二区三区免费观看| 色嗨嗨av一区二区三区| 亚洲一区二三区| 欧美男女性生活在线直播观看| 青娱乐精品视频在线| 精品国产三级a在线观看| 国产成人免费在线观看不卡| 国产精品视频在线看| 色综合婷婷久久| 日韩午夜精品视频| 亚洲视频在线一区观看| 91精品办公室少妇高潮对白| 亚洲午夜私人影院| 欧美成人一区二区三区在线观看| 国产一区二区三区免费观看| 国产精品久久久久三级| 欧美区一区二区三区| 国产一区二区福利| 亚洲男人的天堂av| 欧美一级黄色大片| 99久久99久久精品国产片果冻| 一个色综合网站| 欧美xingq一区二区| 99久久久久久| 老司机一区二区| 亚洲欧美一区二区久久 | 国产无人区一区二区三区| av一区二区久久| 男人的j进女人的j一区| 国产精品久久毛片a| 欧美一级一区二区| 99这里只有精品| 麻豆成人综合网| 欧美欧美欧美欧美| 国产aⅴ精品一区二区三区色成熟| 亚洲人成精品久久久久| 久久久亚洲高清| 欧美久久婷婷综合色| av成人动漫在线观看| 久久国产精品区| 亚洲成人综合视频| 中文字幕一区日韩精品欧美| 日韩精品一区二区三区在线观看| 99精品久久99久久久久| 国产乱人伦偷精品视频不卡| 亚洲国产欧美日韩另类综合| 国产精品每日更新| 欧美大片在线观看| 欧美精品欧美精品系列| 91一区二区三区在线观看| 国产成人一级电影| 麻豆免费精品视频| 蜜臀av性久久久久蜜臀av麻豆| 自拍偷在线精品自拍偷无码专区| xf在线a精品一区二区视频网站| 884aa四虎影成人精品一区| 日本在线不卡一区| 亚洲一区二区三区三| 亚洲欧洲成人自拍| 国产肉丝袜一区二区| 精品日韩99亚洲| 欧美xxxxx牲另类人与| 91麻豆精品国产91久久久更新时间| 91视频在线观看| 91在线视频播放| aaa亚洲精品| 91免费版在线| 色噜噜狠狠色综合欧洲selulu | 亚洲精品视频在线观看免费 | 欧洲在线/亚洲| 色综合天天做天天爱| 一本在线高清不卡dvd| 免费日本视频一区| 日韩高清在线一区| 蜜臀av性久久久久蜜臀aⅴ| 天堂精品中文字幕在线| 欧美96一区二区免费视频| 另类小说综合欧美亚洲| 久久精品国产99国产| 国产一区二区三区黄视频| 成人综合婷婷国产精品久久免费| 国产成人精品免费一区二区| 国产.欧美.日韩| 91在线视频免费观看| 欧美丰满美乳xxx高潮www| 日韩欧美你懂的| 国产精品视频一区二区三区不卡| 1000精品久久久久久久久| 亚洲一区二区在线免费观看视频| 日本一不卡视频| 久久精品国产999大香线蕉| 成人永久免费视频| 欧美视频一区二区三区| 日韩欧美三级在线| 国产精品国产三级国产有无不卡| 一区二区欧美在线观看| 欧美aⅴ一区二区三区视频| 粉嫩一区二区三区在线看| 色激情天天射综合网| 精品久久久久久无| 亚洲欧美日韩国产一区二区三区 | 国产成人精品免费视频网站| 一本大道久久a久久综合| 日韩欧美一级在线播放| 中文字幕一区二区三区av| 五月婷婷激情综合| 成人天堂资源www在线| 91精品蜜臀在线一区尤物| 欧美韩国日本一区| 日韩精品每日更新| thepron国产精品| 欧美精品一区男女天堂| 亚洲一二三四在线| 成人ar影院免费观看视频| av一区二区三区在线|