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

📄 diskfilestream.cpp

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

#include "../include/DiskFileStream.h"

using namespace IMS_IO;

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

CDiskFileStream::CDiskFileStream()
{

}

CDiskFileStream::~CDiskFileStream()
{
	this->m_fp = NULL;
}

bool CDiskFileStream::open(const char *pHandler,int length,char *pFlag)
{
	this->m_fp = fopen(pHandler,pFlag);
	if(!this->m_fp)
		return false;
	return true;
}

int CDiskFileStream::seek(long offset,int origin)
{
	if(!this->m_fp)
		return -1;
	int nVlaue = fseek(this->m_fp,offset,origin);
	if(nVlaue != 0)
		return -2;
	return nVlaue;
}

int CDiskFileStream::read(void *pBuffer,int size,int count)
{
	if(!this->m_fp)
		return -1;
	
	return fread(pBuffer,size,count,this->m_fp);
}

bool CDiskFileStream::close()
{
	if(!this->m_fp)
		return true;
	fclose(this->m_fp);
	return true;
}

long CDiskFileStream::length()
{
	if(!this->m_fp)
		return -1;
	fseek(this->m_fp,0,SEEK_END);
	long len = ftell(this->m_fp);
	return len;
}

long CDiskFileStream::getPos()
{
	fpos_t filepos; 
	fgetpos(this->m_fp, &filepos); 	
	int nFilePos = 0;
	
#ifdef WIN32
	nFilePos = (long)filepos;
#else
	nFilePos = (long)(filepos.__pos);
#endif
	return nFilePos;
}

⌨️ 快捷键说明

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