爱问知识人 爱问教育 医院库

文件系统代码有哪些呢?

首页

文件系统代码有哪些呢?

文件系统代码有哪些呢?

提交回答

全部答案

    2016-08-26 21:43:03
  •   文件系统代码编辑下面是文件系统的代码,根据这个代码我们可以更好地了解文件系统的工作流程main。cpp#include"blockinodesuperblock。h"//intmain(){control。open("control。txt",ios::in|ios::out|ios::nocreate);inti;controli;control。
      close();if(i!0)//不为0就初始化{initial();}control。open("control。txt",ios::in|ios::out|ios::nocreate);control。seekp(0);control0;//默认是上次基础上继续下去不用再初始化control。
      close();strcpy(curname,"root");//当前文件名为rootroad[0]0;//当前路径(存放从根到这里的结点号)num1;//最后位road[num1]为当前文件i结点号cout"请登陆系统\n";while(!login())//登陆为止cout"wrong!!!\n";cout"loginsuccess"endl;cout"******Welcome"auser"******";readsuper();getcommand();//命令解析函数writesuper();return0;}blockinodesuperblock。
      hintialloc()//申请一个i结点返回结点号否则返回1{if(superblock。fiptr0){inttempsuperblock。fistack[80superblock。fiptr];//当前可用superblock。fistack[80superblock。
      fiptr]1;superblock。fiptr;returntemp;}return1;}//voidifree(intindex)//指定一个结点号,回收一个i结点{disk。open("disk。txt",ios::in|ios::out|ios::nocreate);//清空结点disk。
      seekp(514+64*index+2*(index/8));disksetw(64)'';disk。close();for(inti80superblock。fiptr;i80;i++)//结点号找到合适位置插入空闲结点号栈{if(superblock。
      fistackindex)//小于它的前移一位{superblock。fistack[i1]superblock。fistack;}else//放在第一个大于它的结点号前面{superblock。fistack[i1]index;break;}}superblock。
      fiptr++;}///*成组链接法*/intballoc()//申请一个盘块返回盘块号否则返回1{inttempsuperblock。fbstack[10superblock。fbptr];if(superblock。fbptr1)//是栈底了;是记录盘块了{//是最后记录盘块最后号0(保留作栈底分配不成功)if(temp0){return1;}suprblock。
      fbstack[10superblock。fbptr]1;superblock。fbptr0;//盘块内容读入栈for(inti0;i10;i++){intid,num0;disk。open("disk。txt",ios::in|ios::out|ios::nocreate);//先计算盘块内容个数num(最多10),最后盘块可能不到10个disk。
      seekg(514*temp);for(inti0;i10;i++){diskid;num++;if(id0)break;}disk。seekg(514*temp);//盘块内容读入栈for(intj10num;j10;j++){diskid;superblock。
      fbstack[j]id;}superblock。fbptrnum;disk。close();}disk。open("disk。txt",ios::in|ios::out|ios::nocreate);//清空回收盘块disk。seekp(514*temp);disksetw(512)'';disk。
      close();//盘块使用掉returntemp;}else//不是记录盘块;盘块使用掉{superblock。fbstack[10superblock。fbptr]1;superblock。fbptr;returntemp;}}//文件系统FAT编辑在Win9X下,FAT16支持的分区最大为2GB。
      

    吟***

    2016-08-26 21:43:03

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):