• 大小: 11KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C/C++
  • 标签: 模拟文件  

资源简介

1.设计出文件系统中常用的数据结构; 2.理解文件系统的工作流程,给出程序流程图; 3.设计出文件系统中关键的算法; 4.模拟实现二级目录文件系统,并给出一组运行结果。

资源截图

代码片段和文件信息

#define S 10
#define L 20
#define N 30
#include“stdio.h“
#include“string.h“
#include“stdlib.h“
#include“iostream.h“
struct UFD{
       char fname[20];
       char shuxing[20];
       int  length;
       int  addr;
    };
struct UOF{
       char fname[20];
       char shuxing[10];
       int  length;
       char state[10];
       int  *w*r;
       };
struct MFD{
       char uname[25];
       struct UFD ufd[L];
       struct UOF uof[S];
       };
struct MFD mfd[N];

create(int x);
open(int x);
close(int x);
Read(int x);
write(int x);
ddelete(int x);
/*-----------zhu han shu----------------------------*/

main()
{
 char namestr[20]order[20];
 int ij;
 /*chu shi hua MFD*/
 /************************************************************/
 strcpy(mfd[0].uname“lanxueqin“);
 strcpy(mfd[0].ufd[0].fname“wenjian1“);
 strcpy(mfd[0].ufd[0].shuxing“read“);
 mfd[0].ufd[0].length=25;
 mfd[0].ufd[0].addr=6120;
/* printf(“uname:%sfname:%sshuxing:%slength:%daddress:%d\n“mfd[0].unamemfd[0].ufd[0].fnamemfd[0].ufd[0].shuxingmfd[0].ufd[0].lengthmfd[0].ufd[0].addr);*/
 strcpy(mfd[0].ufd[1].fname“wenjian2“);
 strcpy(mfd[0].ufd[1].shuxing“rw“);
 mfd[0].ufd[1].length=20;
 mfd[0].ufd[1].addr=0;

 strcpy(mfd[0].ufd[2].fname“wenjian3“);
 strcpy(mfd[0].ufd[2].shuxing“rw“);
 mfd[0].ufd[2].length=20;
 mfd[0].ufd[2].addr=1000;

 strcpy(mfd[1].uname“hey“);
 strcpy(mfd[1].ufd[0].fname“wenjian5“);
 strcpy(mfd[1].ufd[0].shuxing“read“);
 mfd[1].ufd[0].length=30;
 mfd[1].ufd[0].addr=4020;
 strcpy(mfd[1].ufd[1].fname“wenjian8“);
 strcpy(mfd[1].ufd[1].shuxing“rw“);
 mfd[1].ufd[1].length=21;
 mfd[1].ufd[1].addr=1;
 /*****************************************************/


 /*chu shi hua UOF*/
 /********************************************************/
 strcpy(mfd[0].uof[0].fname“wenjian1“);
 strcpy(mfd[0].uof[0].shuxingmfd[0].ufd[0].shuxing);
 mfd[0].uof[0].length=mfd[0].ufd[0].length;
 strcpy(mfd[0].uof[0].state“open“);
 mfd[0].uof[0].w=mfd[0].ufd[0].addr;
 mfd[0].uof[0].r=mfd[0].ufd[0].addr;

 strcpy(mfd[0].uof[1].fname“wenjian3“);
 strcpy(mfd[0].uof[1].shuxingmfd[0].ufd[2].shuxing);
 mfd[0].uof[1].length=mfd[0].ufd[2].length;
 strcpy(mfd[0].uof[1].state“open“);
 mfd[0].uof[1].w=mfd[0].ufd[2].addr;
 mfd[0].uof[1].r=mfd[0].ufd[2].addr;
  /* printf(“w=%d“mfd[0].uof[0].w); */
 /*******************************************************/
shuru:
printf(“Initial has finished.Please input your name to login:\n“);
scanf(“%s“namestr);
for(i=0;i {if(!strcmp(namestrmfd[i].uname)) /*xiang deng*/
break;
 }/*for*/
  if(i>=N)
  {
      printf(“The name you have inputed is wrong!\n“);
      goto shuru;
  }
instructions:
printf(“Welcome!Input your instruction:\n“);
printf(“create---------create a file\n“);
printf(“open  ---------open   a file\n“);
printf(“close ---------close  a file\n“);
printf(“read  ---------read   a file\n“);
printf(“write ---------write  a fi

评论

共有 条评论