combinefiles.h

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C头文件 代码 · 共 47 行

H
47
字号
// CombineFiles.h: interface for the CCombineFiles class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_COMBINEFILES_H__24D7323D_2E07_4A55_9801_0FE1C24BAE8D__INCLUDED_)
#define AFX_COMBINEFILES_H__24D7323D_2E07_4A55_9801_0FE1C24BAE8D__INCLUDED_

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

#include "Afxtempl.h"

class CFileInfo  //文件信息
{	
public:
	CString GetFileName();//取得文件名,不带路径
	int GetLeng(); //计算存储此文件信息长度
	int Write(LPBYTE lpBuff);//将文件信息连成字符串
	int Read(LPBYTE lpBuff);//从字符串中读取信息
	CString		m_strPathFileName;//不带路径的文件名
	ULONG		m_nFileSize;//文件长度
	ULONG		m_nPosOfCombineFile;//在合成后的文件的位置
};

typedef CArray<CFileInfo,CFileInfo&> FILE_INFO_ARRAY ;

class CCombineFiles //文件打包解压
{
public:
	//取得一个文件夹中所有的文件
	bool GetFiles(CStringArray& arFileNames,CString strPathName);
	//解压
	bool Extract(CString strCombineFileName,CString strOutDir);
	//压缩若干个文件
	bool CCombineFiles::Combine(CString strCombineFileName,const CStringArray& arStrPathFileName,CString strExeFile = "" );
	//压缩一个文件夹中的文件
	bool CCombineFiles::Combine(CString strCombineFileName,CString strPathName,CString strExeFile  = "" );
	CCombineFiles();
	//根据文件名取得文件信息
	bool InitFileInfo(FILE_INFO_ARRAY& arDataFiles,const CStringArray& arStrPathFileName);
	virtual ~CCombineFiles();
};


#endif // !defined(AFX_COMBINEFILES_H__24D7323D_2E07_4A55_9801_0FE1C24BAE8D__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?