inodelist_memory.cpp
来自「模拟Linux文件系统 在任一OS下」· C++ 代码 · 共 34 行
CPP
34 行
#include"disk.h"
extern disk DISK;
void inodelist_memory::inodelist_memory_ini(){
for(int i=0;i<inodelist_memoryamount;i++)
usetimes[i]=0;
}
inode*inodelist_memory::inodelist_memory_searchbyinodenum(int inodenum)//按inode号查找表,若找到则表的usetimes++,若找不到则按inodenum从硬盘写入表,返回inode指针
{
for(int i=0;i<inodelist_memoryamount;i++){
if(inodelist[i].inode_num==inodenum&&usetimes[i]!=0){
usetimes[i]++;
return inodelist+i;
}
}
for(i=0;i<inodelist_memoryamount;i++){
if(usetimes[i]==0){
inode itemp;
inodelist_disk ild(DISK.iof);
ild.inodelist_disk_read(inodenum,&itemp);//根据inode号读inode
inodelist[i]=itemp;
usetimes[i]=1;
return inodelist+i;
}
}
cout<<"there is no free space in inodelist_memory"<<endl;
exit(0);
return NULL;
}
void inodelist_memory::deleteitem(inode*it){
usetimes[it-inodelist]=0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?