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

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

?? unzipfile.h

?? vc下的壓縮和解壓縮代碼
?? H
字號:
/* unzip.h -- IO for uncompress .zip files using zlib 
   Version 0.15 beta, Mar 19th, 1998,

   Copyright (C) 1998 Gilles Vollant

   This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
     WinZip, InfoZip tools and compatible.
   Encryption and multi volume ZipFile (span) are not supported.
   Old compressions used by old PKZip 1.x are not supported

   THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
   CAN CHANGE IN FUTURE VERSION !!
   I WAIT FEEDBACK at mail info@winimage.com
   Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution

   Condition of use and distribution are the same than zlib :

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.


*/
/* for more info about .ZIP format, see 
      ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
   PkWare has also a specification at :
      ftp://ftp.pkware.com/probdesc.zip */

// modified by Tadeusz Dracz - 01.2000:
//		- added class' wrapers
//		- several bugs fixed
//		- several enhancements added
//		- MFC support added
//		- memory leaks eliminated when read error occured
//		- automaticaly free used memory on destruction or exception
//		- modern error notification using exceptions
// Copyright (C) 2000 Tadeusz Dracz  
// This notice may not be removed or altered from any source distribution.



// UnzipFile.h: interface for the CUnzipFile class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UNZIPFILE_H__44D45340_D71F_11D3_B7C7_E77339672847__INCLUDED_)
#define AFX_UNZIPFILE_H__44D45340_D71F_11D3_B7C7_E77339672847__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ZUBaseFile.h"

/* unz_global_info structure contain global data about the ZIPfile
   These data comes from the end of central dir */
struct unz_global_info
{
	uLong number_entry;         /* total number of entries in
				       the central dir on this disk */
	uLong size_comment;         /* size of the global comment of the zipfile */
};

/* unz_file_info contain information about a file in the zipfile */
struct unz_file_info
{
    uLong version;              /* version made by                 2 bytes */
    uLong version_needed;       /* version needed to extract       2 bytes */
    uLong flag;                 /* general purpose bit flag        2 bytes */
    uLong compression_method;   /* compression method              2 bytes */
    uLong dosDate;              /* last mod file date in Dos fmt   4 bytes */
    uLong crc;                  /* crc-32                          4 bytes */
    uLong compressed_size;      /* compressed size                 4 bytes */ 
    uLong uncompressed_size;    /* uncompressed size               4 bytes */ 
    uLong size_filename;        /* filename length                 2 bytes */
    uLong size_file_extra;      /* extra field length              2 bytes */
    uLong size_file_comment;    /* file comment length             2 bytes */

    uLong disk_num_start;       /* disk number start               2 bytes */
    uLong internal_fa;          /* internal file attributes        2 bytes */
    uLong external_fa;          /* external file attributes        4 bytes */

    CTime tmu_date;
};


/* unz_file_info_interntal contain internal info about a file in zipfile*/
struct unz_file_info_internal
{
    uLong offset_curfile;/* relative offset of local header 4 bytes */
};


/* file_in_zip_read_info_s contain internal information about a file in zipfile,
    when reading and decompress it */
struct file_in_zip_read_info
{
	file_in_zip_read_info();
	~file_in_zip_read_info();
	char  *read_buffer;         /* internal buffer for compressed data */
	z_stream stream;            /* zLib stream structure for inflate */

	uLong pos_in_zipfile;       /* position in byte on the zipfile, for fseek*/
	uLong stream_initialised;   /* flag set if stream structure is initialised*/

	uLong offset_local_extrafield;/* offset of the local extra field */
	uInt  size_local_extrafield;/* size of the local extra field */
	uLong pos_local_extrafield;   /* position in the local extra field in read*/

	uLong crc32;                /* crc32 of all data uncompressed */
	uLong crc32_wait;           /* crc32 we must obtain after decompress all */
	uLong rest_read_compressed; /* number of byte to be decompressed */
	uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/
// 	CMemFile* file;                 /* io structore of the zipfile */
	uLong compression_method;   /* compression method (0==store) */
	uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
};




/* unz_s contain internal information about the zipfile
*/
struct unz_s
{
	unz_s();
	~unz_s();
	CMemFile file;                 /* io structore of the zipfile */
	unz_global_info gi;       /* public global information */
	uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
	uLong num_file;             /* number of the current file in the zipfile*/
	uLong pos_in_central_dir;   /* pos of the current file in the central dir*/
	uLong current_file_ok;      /* flag about the usability of the current file*/
	uLong central_pos;          /* position of the beginning of the central dir*/

	uLong size_central_dir;     /* size of the central directory  */
	uLong offset_central_dir;   /* offset of start of central directory with
								   respect to the starting disk number */

	unz_file_info cur_file_info; /* public info about the current file in zip*/
	unz_file_info_internal cur_file_info_internal; /* private info about it*/
    file_in_zip_read_info* pfile_in_zip_read; /* structure about the current
	                                    file if we are decompressing it */
public:
	void free_pfile_in_zip_read();
	void alloc_pfile_in_zip_read();
};



class CUnzipFile : public CZUBaseFile
{
public:
	void GetUnzippedBuffer(char **buffer,int &size);
/*
 fill in attibutes and time fields of the fileStatus with unz_file_info data
 WARNING: if the file is opened the function closes it
*/
	CUnzipFile();
	void Open(LPCTSTR lpszPath);
/*
  Give the current position in uncompressed data
*/
	z_off_t tell();
/*
  return true if the end of file was reached, false elsewhere 
*/
	bool eof();
/*
  Get the global comment string of the ZipFile, in the szComment buffer.
  uSizeBuf is the size of the szComment buffer.
  return the number of byte copied
*/
	int GetGlobalComment (char* szComment, uLong uSizeBuf);
/*
  Read extra field from the current file (opened by OpenCurrentFile)
  This is the local-header version of the extra field (sometimes, there is
    more info in the local-header version than in the central-header)

  if buf==NULL, it return the size of the local extra field

  if buf!=NULL, len is the size of the buffer, the extra header is copied in
	buf.
  the return value is the number of bytes copied in buf
*/
	int GetLocalExtrafield (void* buf, UINT len);
/*
  Get Info about the current file
  if file_info structure will contain somes info about
	    the current file
  if szFileName!=NULL, the filemane string will be copied in szFileName
			(fileNameBufferSize is the size of the buffer)
  if extraField!=NULL, the extra field information will be copied in extraField
			(extraFieldBufferSize is the size of the buffer).
			This is the Central-header version of the extra field
  if szComment!=NULL, the comment string of the file will be copied in szComment
			(commentBufferSize is the size of the buffer)
*/
	void GetCurrentFileInfo ( unz_file_info* file_info, LPSTR szFileName = NULL, 
		uLong fileNameBufferSize = 0, void *extraField = NULL, uLong extraFieldBufferSize = 0,
		LPSTR szComment = NULL, uLong commentBufferSize = 0);
/*
  Write info about the ZipFile in the *pglobal_info structure.
  No preparation of the structure is needed
*/
	void GetGlobalInfo(unz_global_info & global_info);
	
/***************************************************************************/
/* Unzip package allow you browse the directory of the zipfile */

/*
  Set the current file of the zipfile to the first file.
*/
	void GoToFirstFile();
/*
  Set the current file of the zipfile to the next file.
  return true if there is no problem
  return false if the actual file was the latest.
*/
	bool GoToNextFile();
/*
  Try locate the file szFileName in the zipfile.
  For the iCaseSensitivity signification, see unzStringFileNameCompare

  return value :
  true if the file is found. It becomes the current file.
  false if the file is not found
*/
	bool LocateFile(CString szFileName, bool bCaseSensitive = false);
/*
  Open for reading data the current file in the zipfile.
*/
	void OpenCurrentFile();
/*
  Close the file in zip opened with OpenCurrentFile
  throw badCrc error if all the file was read but the CRC is not good
*/
	void CloseCurrentFile();
/*
  Read bytes from the current file (opened by OpenCurrentFile)
  buf contain buffer where data must be copied
  len the size of buf.

  return the number of byte copied if somes bytes are copied
  return 0 if the end of file was reached
*/
	int ReadCurrentFile(void* buf, UINT len);

	void Close();
	int StringFileNameCompare(CString fileName1, CString fileName2, bool caseSensitive = false);
	CUnzipFile(BYTE* lpBuffer, UINT nBufferSize);
	virtual ~CUnzipFile();
protected:
	void unzlocal_GetCurrentFileInfoInternal( unz_file_info & file_info, 
		unz_file_info_internal & file_info_internal, LPSTR szFileName,
		uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize,
		LPSTR szComment, uLong commentBufferSize);

	void unzlocal_DosDateToTmuDate(unz_file_info & file_info);
	void unzlocal_CheckCurrentFileCoherencyHeader (uInt & iSizeVar, uLong & offset_local_extrafield, uLong & size_local_extrafield);
	uLong unzlocal_SearchCentralDir();
	void unzlocal_getLong (uLong & pX);
	void unzlocal_getShort (uLong & pX);
	void unzlocal_getByte(int & pi);
	unz_s uf;
	//CString filePathName;

};

#endif // !defined(AFX_UNZIPFILE_H__44D45340_D71F_11D3_B7C7_E77339672847__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合一区二区| 午夜精品久久久久久久| 日韩精品自拍偷拍| 51精品视频一区二区三区| 欧美日韩在线播放三区四区| 一本到不卡精品视频在线观看| eeuss鲁一区二区三区| 9色porny自拍视频一区二区| 9色porny自拍视频一区二区| 91香蕉视频在线| 在线免费亚洲电影| 欧美欧美欧美欧美首页| 欧美成人综合网站| 久久久不卡影院| 欧美高清一级片在线观看| 国产精品久久久久久久久免费丝袜 | 成人激情电影免费在线观看| 99精品久久99久久久久| 色婷婷一区二区| 欧美日韩精品福利| 亚洲精品一区二区在线观看| 欧美国产日韩a欧美在线观看| 亚洲精品少妇30p| 欧美激情一区不卡| 亚洲成人激情综合网| 蜜桃视频一区二区| 成人av电影在线观看| 日本精品一级二级| 欧美一二三区在线| 国产精品视频第一区| 亚洲成人免费视| 国产乱码一区二区三区| 91麻豆精东视频| 日韩欧美国产一区在线观看| 国产精品久久久久久一区二区三区 | 欧美性受极品xxxx喷水| 日韩一区二区精品| 国产精品初高中害羞小美女文| 亚洲主播在线观看| 国产成人午夜99999| 欧美综合一区二区| 国产拍欧美日韩视频二区| 亚洲狠狠爱一区二区三区| 国内精品久久久久影院色| 欧美在线观看视频在线| 国产色产综合色产在线视频| 香蕉成人伊视频在线观看| 波多野结衣中文一区| 日韩一区二区三免费高清| 亚洲欧美偷拍卡通变态| 国产在线精品一区二区不卡了| 色欧美乱欧美15图片| 欧美高清在线精品一区| 久草热8精品视频在线观看| 欧美少妇bbb| 亚洲蜜桃精久久久久久久| 国产成人av电影在线观看| 日韩小视频在线观看专区| 亚洲最新在线观看| 国内偷窥港台综合视频在线播放| 欧美性猛片xxxx免费看久爱| 国产精品久久久久久久久晋中| 久久er精品视频| 欧美一级xxx| 日韩电影在线观看网站| 在线国产亚洲欧美| 一区二区三区成人| 色婷婷久久久久swag精品| 成人欧美一区二区三区在线播放| 国产精品一二三四| 久久久久久亚洲综合影院红桃| 美女视频第一区二区三区免费观看网站| 色哟哟欧美精品| 樱花影视一区二区| 色欧美乱欧美15图片| 一区二区三区国产| 日本乱人伦aⅴ精品| 一区二区三区**美女毛片| 在线免费观看一区| 亚洲一区二区三区激情| 欧美精品一卡两卡| 午夜视频在线观看一区二区三区| 欧美日韩在线三区| 午夜视频在线观看一区二区| 3d动漫精品啪啪| 精品一区二区三区久久久| 精品国产百合女同互慰| 国产精品一区二区黑丝| 日本一区二区三区国色天香| eeuss鲁片一区二区三区| 亚洲精品视频观看| 欧美一区二区三区在线| 久久99精品久久久| 国产精品污网站| 在线免费观看一区| 免费在线成人网| 欧美激情一区不卡| 欧美性videosxxxxx| 久久国产视频网| 国产欧美日韩综合精品一区二区| jizz一区二区| 偷拍一区二区三区四区| 亚洲精品一区二区精华| 91小视频免费观看| 日产国产高清一区二区三区| 欧美精彩视频一区二区三区| 欧日韩精品视频| 国产在线视视频有精品| 亚洲精品欧美在线| 精品美女被调教视频大全网站| aaa国产一区| 美女网站视频久久| 中文字幕亚洲在| 欧美成人精品1314www| voyeur盗摄精品| 久久精品国产亚洲5555| 亚洲精品ww久久久久久p站| 日韩一区和二区| 色综合中文字幕| 国产一区啦啦啦在线观看| 亚洲免费三区一区二区| 久久综合国产精品| 日韩精品一区二区三区三区免费| 国产乱淫av一区二区三区| 亚洲国产一区二区三区青草影视| 久久久久久综合| 欧美一区二区视频观看视频| 色哟哟在线观看一区二区三区| 国产美女在线精品| 三级不卡在线观看| 亚洲精品国产无套在线观| 国产丝袜在线精品| 精品人伦一区二区色婷婷| 欧美日韩综合在线免费观看| 99久久综合狠狠综合久久| 国产又粗又猛又爽又黄91精品| 日韩和的一区二区| 亚洲综合男人的天堂| 综合激情网...| 国产精品毛片a∨一区二区三区| 欧美xxxxxxxx| 日韩区在线观看| 欧美精品日韩精品| 欧美日韩一区二区在线观看视频 | 欧美精选一区二区| 欧洲色大大久久| 色狠狠一区二区三区香蕉| eeuss鲁片一区二区三区在线观看| 国产精品亚洲一区二区三区妖精| 久久超级碰视频| 久久91精品国产91久久小草| 麻豆专区一区二区三区四区五区| 日本成人在线不卡视频| 日本中文在线一区| 秋霞午夜av一区二区三区| 日本va欧美va精品| 麻豆精品在线看| 国产一区二区三区久久久| 国产在线国偷精品免费看| 国产成人综合亚洲网站| 成人激情电影免费在线观看| 成人av在线网| 在线观看亚洲成人| 欧美日韩精品一区二区三区四区| 欧美色综合影院| 日韩色在线观看| 久久久久久久av麻豆果冻| 中文字幕一区二区三区在线观看| 狠狠色丁香久久婷婷综合丁香| 亚洲区小说区图片区qvod| 丁香五精品蜜臀久久久久99网站| 欧美主播一区二区三区| 国产欧美精品一区| 日韩你懂的在线观看| 国产精品一区二区x88av| 成人免费视频播放| 欧美变态凌虐bdsm| 午夜久久久影院| 一本色道久久综合亚洲91| 久久天堂av综合合色蜜桃网| 亚洲不卡在线观看| 在线一区二区三区四区五区| 欧美激情一区二区三区全黄| 国产一区二区调教| 日韩欧美国产精品一区| 三级精品在线观看| 欧美男女性生活在线直播观看| 亚洲色图制服诱惑 | 成人av综合在线| 国产喷白浆一区二区三区| 国产在线国偷精品免费看| 日韩女优制服丝袜电影| 日韩中文字幕一区二区三区| 色8久久精品久久久久久蜜| ...中文天堂在线一区| 风流少妇一区二区| 久久精品亚洲精品国产欧美 | 欧美大片国产精品| 男男视频亚洲欧美| 88在线观看91蜜桃国自产|