51 lines
918 B
C
51 lines
918 B
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
class CEtPackingFile;
|
|||
|
|
|
|||
|
|
class CEtFileIO
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
enum FileIOType
|
|||
|
|
{
|
|||
|
|
// <20>Ϲ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ET_STD_FILE = 0,
|
|||
|
|
ET_PACK_FILE = 1
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
enum AccessType
|
|||
|
|
{
|
|||
|
|
ET_READ = 0,
|
|||
|
|
ET_WRITE,
|
|||
|
|
ET_ALL
|
|||
|
|
};
|
|||
|
|
enum SeekType
|
|||
|
|
{
|
|||
|
|
// winbase.h <20><> FILE_BEGIN = 0 <20>̰Ŷ<CCB0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ε<EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>, <20><><EFBFBD><EFBFBD> <20>ٲٸ<D9B2> <20>ȵ<EFBFBD>!
|
|||
|
|
ET_SEEK_BEGIN = 0, // <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD>
|
|||
|
|
ET_SEEK_CURRENT = 1, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
ET_SEEK_END = 2 // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
|
|||
|
|
CEtFileIO() { }
|
|||
|
|
virtual ~CEtFileIO() { }
|
|||
|
|
|
|||
|
|
virtual bool Open(const TCHAR* szFileName, AccessType nAccessMode) = 0;
|
|||
|
|
virtual bool Close() = 0;
|
|||
|
|
|
|||
|
|
virtual int Read(void* pBuffer, int nLen) = 0;
|
|||
|
|
virtual int Write(const void* pBuffer, int nLen ) = 0;
|
|||
|
|
virtual int Seek(int nOffset, SeekType nPosition) = 0;
|
|||
|
|
virtual int Tell() = 0;
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
|
|||
|
|
// Ÿ<>Կ<EFBFBD> <20>´<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˾Ƽ<CBBE>.. )
|
|||
|
|
static CEtFileIO* CreateFileIO(FileIOType opt);
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|