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

📄 kfile.h

📁 一个简单而又高效的嵌入式操作系统.包括GUI及文件系统.仿Windows设计,类似于MFC风格
💻 H
字号:
// KFile.h: interface for the KFile class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_KFILE_H__07A2FDF5_5892_4B0F_8975_33EF6C628FA9__INCLUDED_)
#define AFX_KFILE_H__07A2FDF5_5892_4B0F_8975_33EF6C628FA9__INCLUDED_

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

class KFile  
{
public:
	enum OpenFlags{
		modeRead =          0x0000,
		modeWrite =         0x0001,
		modeReadWrite =     0x0002,
		modeCreate =        0x1000
		};
	enum SeekPosition {begin = 0x0, current = 0x1, end = 0x2 };
	static void Init();
	static void Unload();
private:
	struct FILE
	{
		KString strName;
		DWORD nDate;
		int nSize;
		PUSHORT pBlock;
	};
	static DWORD Verify(BOOL bWrite);
	static KArray<FILE>m_arrFile;
	static PDWORD m_pUsedBitmap;
	static int m_nBufferBlock;
	static PBYTE m_pBuffer;
private:
	int GetFileIndex(LPCTSTR szFile);
	int m_nFile;
	int	m_nPostion;
	void ReadWriteBuffer(PBYTE& pBuf,int& nCount);
public:
	//文件操作
	LPCTSTR FindNext();
	LPCTSTR FindFirst();
	BOOL Delete();
	BOOL MoveTo(LPCTSTR szNewName);
	BOOL CopyTo(LPCTSTR szNewName,BOOL bOverWrite);
	BOOL Open(LPCTSTR szFile,int nFlags);
	void Close();
	
	//读写操作
	int Seek(int nOffset,int nFrom);
	void WriteString(LPCTSTR lpsz);
	int ReadString(LPTSTR lpsz,int nMax);
	int ReadString(KString& String);
	int Read(PVOID pBuf,int nCount);
	int Write(LPCVOID pBuf,int nCount);
	int SetLength(int nSize);

	KFile();
	virtual ~KFile();
public:
	__inline LPCTSTR GetName(){return m_arrFile[m_nFile].strName;}
	__inline int GetLength(){return m_arrFile[m_nFile].nSize;}
	__inline void SeekToBegin(){m_nPostion=0;}
	__inline void SeekToEnd(){m_nPostion=m_arrFile[m_nFile].nSize;}
};

#endif // !defined(AFX_KFILE_H__07A2FDF5_5892_4B0F_8975_33EF6C628FA9__INCLUDED_)

⌨️ 快捷键说明

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