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

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

?? zipfileheader.cpp

?? 用BKZIP方式解壓縮文件
?? CPP
字號:
// ZipFileHeader.cpp: implementation of the CZipFileHeader class.
//
////////////////////////////////////////////////////////////////////////////////
//  Copyright (C) 2000 Tadeusz Dracz.
//  For conditions of distribution and use, see copyright notice in ZipArchive.h
////////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ZipFileHeader.h"
#include "zlib.h"
#include "ZipAutoBuffer.h"
#include "ZipArchive.h"

#define ZipFileHeaderSIZE	46
#define LOCALZipFileHeaderSIZE	30
#define VERSIONMADEBY 20
#define ENCR_HEADER_LEN 12
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
char CZipFileHeader::m_gszSignature[] = {0x50, 0x4b, 0x01, 0x02};
char CZipFileHeader::m_gszLocalSignature[] = {0x50, 0x4b, 0x03, 0x04};
CZipFileHeader::CZipFileHeader()
{
	m_uExternalAttr = FILE_ATTRIBUTE_ARCHIVE;
	m_uModDate = m_uModTime = m_uInternalAttr = 0;
	m_uMethod = Z_DEFLATED;
}

CZipFileHeader::~CZipFileHeader()
{

}

// read the header from the central dir
bool CZipFileHeader::Read(CZipStorage *pStorage)
{
// 	// just in case
// 	m_pszComment.Release();
// 	m_pszFileName.Release();
	WORD uFileNameSize, uCommentSize, uExtraFieldSize;
	CZipAutoBuffer buf(ZipFileHeaderSIZE);
	pStorage->Read(buf, ZipFileHeaderSIZE, true);		
	memcpy(&m_szSignature,		buf, 4);
	memcpy(&m_uVersionMadeBy,	buf + 4, 2);
	memcpy(&m_uVersionNeeded,	buf + 6, 2);
	memcpy(&m_uFlag,			buf + 8, 2);
	memcpy(&m_uMethod,			buf + 10, 2);
	memcpy(&m_uModTime,			buf + 12, 2);
	memcpy(&m_uModDate,			buf + 14, 2);
	memcpy(&m_uCrc32,			buf + 16, 4);
	memcpy(&m_uComprSize,		buf + 20, 4);
	memcpy(&m_uUncomprSize,		buf + 24, 4);
	memcpy(&uFileNameSize,		buf + 28, 2);
	memcpy(&uExtraFieldSize,	buf + 30, 2);
	memcpy(&uCommentSize,		buf + 32, 2);
	memcpy(&m_uDiskStart,		buf + 34, 2);
	memcpy(&m_uInternalAttr,	buf + 36, 2);
	memcpy(&m_uExternalAttr,	buf + 38, 4);
	memcpy(&m_uOffset,			buf + 42, 4);
	buf.Release();

	if (memcmp(m_szSignature, m_gszSignature, 4) != 0)
		return false;

	int iCurDsk = pStorage->GetCurrentDisk();
	m_pszFileName.Allocate(uFileNameSize); // don't add NULL at the end
	pStorage->m_pFile->Read(m_pszFileName, uFileNameSize);
	if (uExtraFieldSize)
	{
		ASSERT(!m_pExtraField.IsAllocated());
		m_pExtraField.Allocate(uExtraFieldSize);
		pStorage->m_pFile->Read(m_pExtraField, uExtraFieldSize);
	}
	if (uCommentSize)
	{
		m_pszComment.Allocate(uCommentSize);
		pStorage->m_pFile->Read(m_pszComment, uCommentSize);
	}

	return pStorage->GetCurrentDisk() == iCurDsk; // check that the while header is on the one disk
}

// return CTime representation of m_uModDate, m_uModTime
CTime CZipFileHeader::GetTime()
{
	return CTime(m_uModDate, m_uModTime);
}

// write the header to the central dir
DWORD CZipFileHeader::Write(CZipStorage *pStorage)
{
	WORD uFileNameSize = GetFileNameSize(), uCommentSize = GetCommentSize(),
		uExtraFieldSize = GetExtraFieldSize();
	DWORD iSize = GetSize();
	CZipAutoBuffer buf(iSize);
	memcpy(buf, &m_szSignature, 4);
	memcpy(buf + 4, &m_uVersionMadeBy, 2);
	memcpy(buf + 6, &m_uVersionNeeded, 2);
	memcpy(buf + 8, &m_uFlag, 2);
	memcpy(buf + 10, &m_uMethod, 2);
	memcpy(buf + 12, &m_uModTime, 2);
	memcpy(buf + 14, &m_uModDate, 2);
	memcpy(buf + 16, &m_uCrc32, 4);
	memcpy(buf + 20, &m_uComprSize, 4);
	memcpy(buf + 24, &m_uUncomprSize, 4);
	memcpy(buf + 28, &uFileNameSize, 2);
	memcpy(buf + 30, &uExtraFieldSize, 2);
	memcpy(buf + 32, &uCommentSize, 2);
	memcpy(buf + 34, &m_uDiskStart, 2);
	memcpy(buf + 36, &m_uInternalAttr, 2);
	memcpy(buf + 38, &m_uExternalAttr, 4);
	memcpy(buf + 42, &m_uOffset, 4);

	memcpy(buf + 46, m_pszFileName, uFileNameSize);

	if (uExtraFieldSize)
		memcpy(buf + 46 + uFileNameSize, m_pExtraField, uExtraFieldSize);

	if (uCommentSize)
		memcpy(buf + 46 + uFileNameSize + uExtraFieldSize, m_pszComment, uCommentSize);

	pStorage->Write(buf, iSize, true);
	return iSize;
}

// read local header
bool CZipFileHeader::ReadLocal(CZipStorage *pStorage, WORD& iLocExtrFieldSize)
{
	char buf[LOCALZipFileHeaderSIZE];
	pStorage->Read(buf, LOCALZipFileHeaderSIZE, true);
	if (memcmp(buf, m_gszLocalSignature, 4) != 0)
		return false;

	bool bIsDataDescr = (((WORD)*(buf + 6)) & 8) != 0;

	WORD uFileNameSize = GetFileNameSize();
	if ((memcmp(buf + 6, &m_uFlag, 2) != 0)
		||(memcmp(buf + 8, &m_uMethod, 2) != 0)
		|| (m_uMethod && (m_uMethod != Z_DEFLATED))
		|| (memcmp(buf + 26, &uFileNameSize, 2) != 0))
		return false;

// jeszcze mo縩aby por體na

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产中文一区二区三区| 亚洲素人一区二区| 免费久久99精品国产| 91麻豆精品国产91久久久久久久久 | 欧美日韩高清一区| 日韩国产欧美在线视频| 精品国产一区二区在线观看| 国产黄色精品网站| 亚洲欧美日韩一区二区三区在线观看| 日本韩国欧美一区| 日本不卡中文字幕| 国产无遮挡一区二区三区毛片日本| 成人精品一区二区三区四区 | 亚洲午夜电影在线观看| 69成人精品免费视频| 激情久久五月天| 自拍偷在线精品自拍偷无码专区 | 成人精品视频一区| 一区二区三区加勒比av| 日韩精品在线一区| 国产剧情一区二区三区| 亚洲日本va在线观看| 欧美久久久久中文字幕| 激情五月婷婷综合| 亚洲自拍偷拍图区| 26uuu国产电影一区二区| 不卡的电视剧免费网站有什么| 一片黄亚洲嫩模| 精品不卡在线视频| 在线看不卡av| 国产激情视频一区二区在线观看 | 国产丝袜在线精品| 欧美精品自拍偷拍| 不卡在线视频中文字幕| 日韩国产欧美三级| 亚洲欧美日本韩国| 国产视频一区二区在线| 欧美精品国产精品| 99久久精品国产一区二区三区| 舔着乳尖日韩一区| 国产精品久久久久久久午夜片| 4438x亚洲最大成人网| 成人av电影在线| 国产自产v一区二区三区c| 亚洲福利电影网| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品国产高清一区二区三区蜜臀| 高清国产一区二区三区| 日韩国产欧美在线视频| 亚洲日穴在线视频| 久久九九久久九九| 日韩一级免费一区| 欧美四级电影网| 97se亚洲国产综合自在线| 国产成人夜色高潮福利影视| 日韩av在线播放中文字幕| 亚洲欧美国产毛片在线| 国产精品区一区二区三| 久久久久久久电影| 日韩女优av电影在线观看| 欧美日本高清视频在线观看| 色婷婷久久久综合中文字幕| 成人sese在线| 成人久久18免费网站麻豆| 国产福利不卡视频| 国产最新精品免费| 激情六月婷婷综合| 久久国产精品无码网站| 日本免费新一区视频| 日韩高清一区在线| 亚洲免费观看高清完整版在线观看熊| 国产精品不卡在线观看| 国产精品天美传媒沈樵| 国产精品区一区二区三| 欧美极品美女视频| 欧美国产成人在线| 中文字幕不卡三区| 亚洲欧美自拍偷拍| 国产精品美女久久久久久久久 | 国产成人av电影在线观看| 激情综合五月天| 美女精品一区二区| 久久国产精品色| 国模大尺度一区二区三区| 久久99精品久久久| 国产精品99久| 99精品欧美一区二区蜜桃免费| av毛片久久久久**hd| 99精品1区2区| 欧美日韩综合不卡| 欧美一卡2卡三卡4卡5免费| 欧美一区二区三区人| 精品理论电影在线观看| 久久精品日产第一区二区三区高清版| 国产亚洲欧美激情| 亚洲精品中文在线观看| 午夜国产不卡在线观看视频| 久久99国产精品免费网站| 国产一区啦啦啦在线观看| 9i在线看片成人免费| 欧美中文一区二区三区| 日韩免费高清视频| 欧美国产视频在线| 亚洲永久精品大片| 青青青爽久久午夜综合久久午夜| 国产精品综合网| 色综合久久99| 日韩欧美一区在线| 中文字幕一区在线观看视频| 亚洲综合久久久久| 经典一区二区三区| av电影天堂一区二区在线观看| 在线亚洲一区二区| 欧美哺乳videos| 亚洲视频在线一区观看| 日韩avvvv在线播放| 成人小视频免费在线观看| 91成人免费在线| 亚洲精品一区二区精华| 一区二区在线观看不卡| 美女视频一区在线观看| 99国内精品久久| 精品国产一二三区| 亚洲国产日韩一级| 国产精一区二区三区| 欧美三级蜜桃2在线观看| 久久久www成人免费毛片麻豆 | 日韩激情一区二区| 国产成人亚洲精品狼色在线| 欧美做爰猛烈大尺度电影无法无天| 精品国产乱码久久久久久1区2区 | 国模套图日韩精品一区二区| 91精品1区2区| 亚洲色图视频免费播放| 日本不卡一二三区黄网| 国产精品情趣视频| 亚洲精品一二三区| 国产成a人无v码亚洲福利| 欧美精品99久久久**| 综合分类小说区另类春色亚洲小说欧美| 日产欧产美韩系列久久99| 色中色一区二区| 中文字幕欧美区| 久久99热这里只有精品| 欧美女孩性生活视频| 亚洲精品中文在线影院| 成人福利电影精品一区二区在线观看| 日韩亚洲欧美一区| 亚洲图片欧美色图| 91黄色小视频| 亚洲欧洲日韩在线| 国产91精品一区二区麻豆亚洲| 欧美电视剧免费观看| 亚洲欧洲综合另类| 亚洲一区二区av在线| 久久丝袜美腿综合| 99精品久久免费看蜜臀剧情介绍| 精品一区二区综合| 欧美伊人久久久久久午夜久久久久| 亚洲欧美综合色| 国产精品麻豆99久久久久久| 欧美精品免费视频| 99在线精品观看| 日本人妖一区二区| 中文字幕一区二区三区四区不卡 | eeuss鲁片一区二区三区在线看| 国产精品美女一区二区三区 | 精品剧情v国产在线观看在线| 91美女视频网站| ...av二区三区久久精品| 激情成人午夜视频| 欧美日韩精品二区第二页| 一区二区三区四区国产精品| 中文字幕在线不卡| 亚洲精品欧美在线| 亚洲色图色小说| 天堂久久久久va久久久久| 国产风韵犹存在线视精品| 久久99久久久欧美国产| 成人国产精品免费网站| 亚洲欧美国产77777| 亚洲啪啪综合av一区二区三区| 欧美影片第一页| 一本一本久久a久久精品综合麻豆| 99re在线精品| 91官网在线观看| 欧美日韩一区不卡| 欧美三级在线播放| 国产精品久久久久久久久免费樱桃| 国产精品一区专区| 国产精品免费网站在线观看| 欧美性猛片aaaaaaa做受| 风流少妇一区二区| 秋霞影院一区二区| 国产精品黄色在线观看| 欧美成人bangbros| 色婷婷激情综合| 午夜伦欧美伦电影理论片| 成人免费看视频| 国产一区二区三区综合|