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

📄 openfiledescriptortable.cpp

📁 模拟Linux文件系统 在任一OS下
💻 CPP
字号:
#include "disk.h"
void openfiledescriptortable::openfiledescriptortable_ini(){
	for(int i=0;i<openfiledescriptortableamount;i++)
		availability[i]=0;
}
openfileitem*openfiledescriptortable::createopenfile(inode*pinode)//创建一个打开文件描述表项,并且该项的pinode指针指向pinode
{
	for(int i=0;i<openfiledescriptortableamount;i++){
		if(availability[i]==0){
			availability[i]=1;
			ofitable[i].pinode=pinode;
			ofitable[i].filesite=0;
			ofitable[i].paracteristic=0;
			ofitable[i].usetimes=1;
			return ofitable+i;
		}
	}
	cout<<"there is no free space in openfiledescriptortable"<<endl;
	exit(0);
	return NULL;
}
openfileitem*openfiledescriptortable::openopenfile(openfileitem*pofi)//打开一个描述表项,可以加上权限检测
{
	availability[pofi-ofitable]++;
	return pofi;
}
inode*openfiledescriptortable::deleteitem(openfileitem*oi){
	availability[oi-ofitable];
	return oi->pinode;
}

⌨️ 快捷键说明

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