file.h

来自「一个简单的虚拟机和虚拟操作系统」· C头文件 代码 · 共 52 行

H
52
字号
#pragma once
#include "StdAfx.h"
#include "all.h"
#include "iostream"
using namespace std;

class File
{
	friend class FS;
public:
	File(const CString& name,char*data,int size);
	~File(void);
public:
	bool read(char*buffer)const;
	bool read(int index,int size,char*buffer)const;
	bool write(int size,const char*buffer);
	bool write(int index,int size,const char*buffer);
	void empty();
	File*getCopy()const;

public:
	void setName(const CString& name)
	{
		this->fname = name;
	}
	CString getName()const
	{
		return fname;
	}
	int getSize()const
	{
		return fsize;
	}
	int getSpace()const
	{
		return getBlockNum()*BLOCK_SIZE;
	}
	int getBlockNum()const
	{
		int nBlock = fsize/BLOCK_SIZE;
		if(fsize%BLOCK_SIZE!=0)
			nBlock++;
		return nBlock;
	}
public:
	void save(CArchive&ar)const;
	void load(CArchive&ar);
private:
	int iTable[MAX_BLOCK];
	int fsize;
	CString fname;
};

⌨️ 快捷键说明

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