⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loadstream.cpp

📁 自己写的一个IO库
💻 CPP
字号:
// LoadStream.cpp: implementation of the CLoadStream class.
//
//////////////////////////////////////////////////////////////////////

#include "../include/LoadStream.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLoadStream::CLoadStream()
{

}

CLoadStream::~CLoadStream()
{

}

int CLoadStream::loadMemoryMap(const char *pFileName,char *pFlg,IFileStream * & pFileStream)
{
#ifdef WIN32
	return -1;   //不支持的数据加载方式
#else
	CMemoryMapping maping;
	
	long fileLegth = 0;
	printf("open filename = %s\n",pFileName);
	unsigned char *pMapHandler = maping.mmap_file(pFileName,fileLegth);
	printf("opne file share map length %d\n",fileLegth);

	pFileStream = new CMemoryShareFileStream();
	bool bOpen = pFileStream->open((char*)pMapHandler,fileLegth,"rb");
	if(!bOpen)
	{
		printf("%s\n","open memory map file faile!!!");
		delete pFileStream;
		pFileStream = NULL;
		return -2;
	}
	printf("%s\n","open memory map file Success!!!");
	return 0;
#endif

}
int CLoadStream::loadDiskStream(const char *pFileName,char *pFlg,IFileStream * & pFileStream)
{
	pFileStream = new CDiskFileStream();
	bool bOpen = pFileStream->open(pFileName,0,pFlg);
	if(!bOpen)
	{
		printf("%s\n","open disk file faile!!!");
		delete pFileStream;
		pFileStream = NULL;
		return -2;
	}
	printf("%s\n","open disk file Success!!!");
	return 0;
}

int CLoadStream::loadMemroyFileStream(const char *pFileName,char *pFlg,IFileStream * & pFileStream)
{
	CDiskFileStream diskFileStrem;
	bool bOpen = diskFileStrem.open(pFileName,0,pFlg);
	if(!bOpen) return -2;

	int nLength = diskFileStrem.length();
	diskFileStrem.seek(0,SEEK_SET);
	char *pBuffer = new char[nLength];
	diskFileStrem.read(pBuffer,1,nLength);

	pFileStream = new CMemoryFileStream();
	bOpen = pFileStream->open(pBuffer,nLength,"");
	if(!bOpen)
	{
		printf("%s\n","open memory file faile!!!");
		delete pFileStream;
		pFileStream = NULL;
		return -2;
	}
	printf("%s\n","open memory file Success!!!");
	return 0;
}

⌨️ 快捷键说明

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