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

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

?? arcio.c

?? 匯編大全 中國礦業大學計算機學院 匯編實驗5
?? C
字號:
/* * $Header: arcio.c,v 1.7 88/06/02 16:27:32 hyc Locked $ *//*  ARC - Archive utility - ARCIO    Version 2.50, created on 04/22/87 at 13:25:20(C) COPYRIGHT 1985,86 by System Enhancement Associates; ALL RIGHTS RESERVED    By:	 Thom Henderson    Description:	 This file contains the file I/O routines used to manipulate	 an archive.    Language:	 Computer Innovations Optimizing C86*/#include <stdio.h>#include "arc.h"#if	MTS#include <ctype.h>#endifvoid	abort();int	strlen(), free();intreadhdr(hdr, f)			/* read a header from an archive */	struct heads   *hdr;	/* storage for header */	FILE           *f;	/* archive to read header from */{#if	!MSDOS	unsigned char   dummy[28];	int             i;#endif	char            name[FNLEN];	/* filename buffer */	int             try = 0;/* retry counter */	static int      first = 1;	/* true only on first read */	if (!f)			/* if archive didn't open */		return 0;	/* then pretend it's the end */	if (feof(f))		/* if no more data */		return 0;	/* then signal end of archive */	if (fgetc(f) != ARCMARK) {	/* check archive validity */		if (warn) {			printf("An entry in %s has a bad header.", arcname);			nerrs++;		}		while (!feof(f)) {			try++;			if (fgetc(f) == ARCMARK) {				ungetc(hdrver = fgetc(f), f);				if (!(hdrver & 0x80) && hdrver <= ARCVER)					break;			}		}		if (feof(f) && first)			abort("%s is not an archive", arcname);		if (changing && warn)			abort("%s is corrupted -- changes disallowed", arcname);		if (warn)			printf("  %d bytes skipped.\n", try);		if (feof(f))			return 0;	}	hdrver = fgetc(f);	/* get header version */	if (hdrver & 0x80)	/* sign bit? negative? */		abort("Invalid header in archive %s", arcname);	if (hdrver == 0)		return 0;	/* note our end of archive marker */	if (hdrver > ARCVER) {		fread(name, sizeof(char), FNLEN, f);#if	MTS		atoe(name, strlen(name));#endif		printf("I don't know how to handle file %s in archive %s\n",		       name, arcname);		printf("I think you need a newer version of ARC.\n");		exit(1);	}	/* amount to read depends on header type */	if (hdrver == 1) {	/* old style is shorter */		fread(hdr, sizeof(struct heads) - sizeof(long int), 1, f);		hdrver = 2;	/* convert header to new format */		hdr->length = hdr->size;	/* size is same when not						 * packed */	} else#if	MSDOS		fread(hdr, sizeof(struct heads), 1, f);#else		fread(dummy, 27, 1, f);	for (i = 0; i < FNLEN; hdr->name[i] = dummy[i], i++);#if	MTS	(void) atoe(hdr->name, strlen(hdr->name));#endif	for (i = 0; i<4; hdr->size<<=8, hdr->size += dummy[16-i], i++);	hdr->date = (short) ((dummy[18] << 8) + dummy[17]);	hdr->time = (short) ((dummy[20] << 8) + dummy[19]);	hdr->crc = (short) ((dummy[22] << 8) + dummy[21]);	for (i = 0; i<4; hdr->length<<=8, hdr->length += dummy[26-i], i++);#endif	if (hdr->date > olddate	    || (hdr->date == olddate && hdr->time > oldtime)) {		olddate = hdr->date;		oldtime = hdr->time;	}	first = 0;	return 1;		/* we read something */}voidput_int(number, f)		/* write a 2 byte integer */	short           number;	FILE           *f;{	fputc((char) (number & 255), f);	fputc((char) (number >> 8), f);}voidput_long(number, f)		/* write a 4 byte integer */	long            number;	FILE           *f;{	put_int((short) (number & 0xFFFF), f);	put_int((short) (number >> 16), f);}voidwritehdr(hdr, f)		/* write a header to an archive */	struct heads   *hdr;	/* header to write */	FILE           *f;	/* archive to write to */{	fputc(ARCMARK, f);		/* write out the mark of ARC */	fputc(hdrver, f);	/* write out the header version */	if (!hdrver)		/* if that's the end */		return;		/* then write no more */#if	MSDOS	fwrite(hdr, sizeof(struct heads), 1, f);#else	/* byte/word ordering hassles... */#if	MTS	etoa(hdr->name, strlen(hdr->name));#endif	fwrite(hdr->name, 1, FNLEN, f);	put_long(hdr->size, f);	put_int(hdr->date, f);	put_int(hdr->time, f);	put_int(hdr->crc, f);	put_long(hdr->length, f);#endif	/* note the newest file for updating the archive timestamp */	if (hdr->date > arcdate	    || (hdr->date == arcdate && hdr->time > arctime)) {		arcdate = hdr->date;		arctime = hdr->time;	}}voidputc_tst(c, t)			/* put a character, with tests */	char            c;	/* character to output */	FILE           *t;	/* file to write to */{	c &= 0xff;	if (t)#if	UNIX		fputc(c, t);#else		if (fputc(c, t) == EOF)			abort("Write fail (disk full?)");#endif}/* * NOTE:  The filecopy() function is used to move large numbers of bytes from * one file to another.  This particular version has been modified to improve * performance in Computer Innovations C86 version 2.3 in the small memory * model.  It may not work as expected with other compilers or libraries, or * indeed with different versions of the CI-C86 compiler and library, or with * the same version in a different memory model. *  * The following is a functional equivalent to the filecopy() routine that * should work properly on any system using any compiler, albeit at the cost * of reduced performance: *  * filecopy(f,t,size)  *      FILE *f, *t; long size;  * {  *      while(size--) *              putc_tst(fgetc(f),t);  * } */#if	MSDOS#include <fileio2.h>filecopy(f, t, size)		/* bulk file copier */	FILE           *f, *t;	/* files from and to */	long            size;	/* bytes to copy */{	char           *buf;	/* buffer pointer */	char           *alloc();/* buffer allocator */	unsigned int    bufl;	/* buffer length */	unsigned int    coreleft();	/* space available reporter */	unsigned int    cpy;	/* bytes being copied */	long            floc, tloc, fseek();	/* file pointers, setter */	struct regval   reg;	/* registers for DOS calls */	if ((bufl = coreleft()) < 1000)	/* see how much space we have */		abort("Out of memory");	bufl -= 1000;		/* fudge factor for overhead */	if (bufl > 60000)		bufl = 60000;	/* avoid choking alloc() */	if (bufl > size)		bufl = size;	/* avoid wasting space */	buf = alloc(bufl);	/* allocate our buffer */	floc = fseek(f, 0L, 1);	/* reset I/O system */	tloc = fseek(t, 0L, 1);	segread(&reg.si);	/* set segment registers for DOS */	while (size > 0) {	/* while more to copy */		reg.ax = 0x3F00;/* read from handle */		reg.bx = filehand(f);		reg.cx = bufl < size ? bufl : size;	/* amount to read */		reg.dx = buf;		if (sysint21(&reg, &reg) & 1)			abort("Read fail");		cpy = reg.ax;	/* amount actually read */		reg.ax = 0x4000;/* write to handle */		reg.bx = filehand(t);		reg.cx = cpy;		reg.dx = buf;		sysint21(&reg, &reg);		if (reg.ax != cpy)			abort("Write fail (disk full?)");		size -= (long) cpy;	}	free(buf);		/* all done with buffer */}#elsevoidfilecopy(f, t, size)		/* bulk file copier */	FILE           *f, *t;	/* files from and to */	long            size;	/* bytes to copy */{	char           *buf;	/* buffer pointer */	char           *malloc();	/* buffer allocator */	unsigned int    bufl;	/* buffer length */	unsigned int    cpy;	/* bytes being copied */	bufl = 32760;	if (bufl > size)		bufl = size;	/* don't waste space */	buf = malloc(bufl);	while (size > 0) {		cpy = fread(buf, sizeof(char),			bufl < size ? bufl : (unsigned short) size, f);		if (fwrite(buf, sizeof(char), cpy, t) != cpy)			abort("Write fail (no space?)");		size -= cpy;	}	free(buf);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品久久只有精品| 国产网站一区二区| 国产欧美一区二区三区在线老狼| 亚洲精品菠萝久久久久久久| 美国欧美日韩国产在线播放| 在线日韩一区二区| 国产精品美女一区二区在线观看| 日本成人超碰在线观看| 色噜噜狠狠成人网p站| 国产区在线观看成人精品| 天天综合网 天天综合色| 99re热视频精品| 国产精品久久久久影院亚瑟| 国内精品视频666| 日韩一级完整毛片| 午夜久久久影院| 精品视频在线视频| 一区二区三区成人| 在线视频你懂得一区| 亚洲色图清纯唯美| 99精品国产99久久久久久白柏 | 欧美激情一区在线| 美脚の诱脚舐め脚责91 | 亚洲人成网站影音先锋播放| 精品一区二区在线看| 日韩一卡二卡三卡四卡| 蜜臀精品一区二区三区在线观看| 欧美挠脚心视频网站| 日韩和的一区二区| 91精品国产黑色紧身裤美女| 午夜视频久久久久久| 69堂国产成人免费视频| 日日夜夜精品视频免费| 欧美高清性hdvideosex| 美女网站视频久久| www精品美女久久久tv| 精品无人码麻豆乱码1区2区| 久久伊人中文字幕| 成人视屏免费看| 一色桃子久久精品亚洲| 欧美在线观看视频在线| 亚洲不卡av一区二区三区| 欧美人牲a欧美精品| 久久99久久99精品免视看婷婷| 精品av久久707| 国产精品 欧美精品| 亚洲人快播电影网| 欧美日韩精品一区二区三区四区| 天堂蜜桃一区二区三区| 日韩欧美专区在线| 丰满白嫩尤物一区二区| 专区另类欧美日韩| 欧美日韩高清一区二区不卡| 美国三级日本三级久久99| 久久老女人爱爱| 成人免费视频视频在线观看免费 | 久久久久久夜精品精品免费| 国产不卡视频在线播放| 亚洲免费观看高清在线观看| 欧美一区二区三区日韩视频| 国产在线视视频有精品| 亚洲人成网站在线| 欧美成人女星排行榜| 成人激情av网| 蜜臀av国产精品久久久久| 国产视频在线观看一区二区三区 | 成人黄色在线看| 亚洲国产精品视频| 国产亚洲欧美日韩在线一区| 欧美吞精做爰啪啪高潮| 韩国午夜理伦三级不卡影院| 亚洲精品美国一| 久久尤物电影视频在线观看| 色妞www精品视频| 国产在线观看一区二区| 亚洲伊人色欲综合网| 国产欧美日韩中文久久| 欧美日高清视频| 91免费版在线| 国产在线一区观看| 日本不卡一区二区| 一区二区三区中文字幕电影 | 日韩视频免费观看高清完整版 | 亚洲精品成人在线| 久久综合九色综合欧美就去吻| 一本色道久久综合亚洲aⅴ蜜桃| 国产一区三区三区| 日韩国产欧美三级| 亚洲一级不卡视频| 亚洲欧美日韩电影| 中文字幕va一区二区三区| 91精品啪在线观看国产60岁| 99re成人精品视频| 不卡av在线网| 国产一区激情在线| 久草精品在线观看| 日本亚洲一区二区| 五月综合激情婷婷六月色窝| 亚洲欧美在线视频观看| 26uuu成人网一区二区三区| 欧美剧情片在线观看| 色婷婷久久99综合精品jk白丝| 风流少妇一区二区| 激情综合网激情| 日本中文字幕不卡| 奇米888四色在线精品| 亚洲永久精品国产| 亚洲一区二区精品视频| 亚洲精品高清视频在线观看| 亚洲欧美色图小说| 国产精品久久久久久久久图文区| 亚洲精品一区二区三区福利| 欧美一级片在线| 欧美一区二区三区四区视频| 337p亚洲精品色噜噜| 日韩一区二区三区视频在线观看| 91精品在线一区二区| 在线播放欧美女士性生活| 欧美浪妇xxxx高跟鞋交| 日韩片之四级片| 久久久777精品电影网影网| 久久综合狠狠综合久久激情| 欧美精品一区二区三区蜜臀| 久久婷婷综合激情| 国产精品人成在线观看免费| 欧美国产欧美亚州国产日韩mv天天看完整| 久久精品欧美一区二区三区麻豆| 国产三级精品三级在线专区| 国产精品女主播av| 亚洲精品免费看| 日韩国产精品久久| 国产在线精品一区二区| 国产夫妻精品视频| 91啪九色porn原创视频在线观看| 欧美一级黄色片| xnxx国产精品| 国产精品剧情在线亚洲| 亚洲欧洲综合另类在线| 日韩精品五月天| 国产专区欧美精品| 色av一区二区| 欧美v亚洲v综合ⅴ国产v| 久久精品欧美日韩精品 | 欧美亚洲图片小说| 欧美一级黄色片| 亚洲图片欧美激情| 日韩专区一卡二卡| 国产99精品视频| 欧美日韩精品欧美日韩精品一| 日韩一区二区电影| 亚洲色图一区二区三区| 日本在线不卡视频| 91在线视频网址| 日韩欧美一区二区免费| 中文字幕久久午夜不卡| 日本强好片久久久久久aaa| 国产盗摄精品一区二区三区在线| 在线一区二区视频| 久久久久高清精品| 亚洲3atv精品一区二区三区| 国产精品自拍一区| 欧美日韩二区三区| 中文字幕在线观看一区二区| 图片区小说区国产精品视频| 丰满岳乱妇一区二区三区| 欧美日韩一区精品| 最新日韩av在线| 精品一区二区三区蜜桃| 欧美三级在线播放| 亚洲欧洲av另类| 激情av综合网| 欧美另类z0zxhd电影| 亚洲色图欧美在线| 国产aⅴ综合色| 欧美一级国产精品| 亚洲v精品v日韩v欧美v专区 | 国产综合色视频| 欧美色手机在线观看| 最新中文字幕一区二区三区| 国产精品主播直播| 欧美成人女星排行榜| 日产精品久久久久久久性色| 在线视频亚洲一区| 一区二区三区四区不卡视频| 风间由美中文字幕在线看视频国产欧美| 欧美一区二区三区在线视频| 亚洲一区二三区| 91免费观看在线| 亚洲美女视频一区| 91在线视频官网| 亚洲男人天堂av| 91丨porny丨户外露出| 国产精品久久久久影视| 粉嫩av一区二区三区| 国产日韩欧美在线一区| 高清在线成人网| 国产欧美久久久精品影院| 成人做爰69片免费看网站| 日本一区二区三级电影在线观看| 国产精品 日产精品 欧美精品|