操作系统实验文件管理C++代码.doc

操作系统实验文件管理C++代码.doc

ID:49461842

大小:72.00 KB

页数:19页

时间:2020-03-01

操作系统实验文件管理C++代码.doc_第1页
操作系统实验文件管理C++代码.doc_第2页
操作系统实验文件管理C++代码.doc_第3页
操作系统实验文件管理C++代码.doc_第4页
操作系统实验文件管理C++代码.doc_第5页
资源描述:

《操作系统实验文件管理C++代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#include#includeusingnamespacestd;#defineBLKSIZE512//数据块的大小#defineBLKNUM512//数据块的块数#defineINODESIZE32//i节点的大小#defineINODENUM32//i节点的数目#defineFILENUM8//打开文件表的数目//用户typedefstruct{charuser_name[10];//用户名charpassword[10

2、];//密码}User;//i节点typedefstruct{shortinum;//文件i节点号charfile_name[10];//文件名chartype;//文件类型charuser_name[10];//文件所有者shortiparent;//父目录的i节点号shortlength;//文件长度shortaddress[2];//存放文件的地址}Inode;//打开文件表typedefstruct{shortinum;//i节点号charfile_name[10];//文件名shortmode;//读写模式(1:read,2:write,//3:rea

3、dandwrite)}File_table;//申明函数voidlogin(void);voidinit(void);精选范本,供参考!intanalyse(char*);voidsave_inode(int);intget_blknum(void);voidread_blk(int);voidwrite_blk(int);voidrelease_blk(int);voidpathset();voiddel(int);//用户命令处理函数voidhelp(void);voidcd(void);voiddir(void);voidmkdir(void);voidc

4、reat(void);voidopen(void);voidread(void);voidwrite(void);voidclose(void);voiddelet(void);voidlogout(void);voidcommand(void);voidquit();//main.cpp文件//#include"head.h"//定义全局变量charchoice;intargc;//用户命令的参数个数char*argv[5];//用户命令的参数intinum_cur;//当前目录chartemp[2*BLKSIZE];//缓冲区Useruser;//当前的用户

5、charbitmap[BLKNUM];//位图数组Inodeinode_array[INODENUM];//i节点数组File_tablefile_array[FILENUM];//打开文件表数组charimage_name[10]="data.dat";//文件系统名称FILE*fp;//打开文件指针//创建映像hd,并将所有用户和文件清除voidformat(void){inti;精选范本,供参考!Inodeinode;printf("Willbetoformatfilesystem...");printf("WARNING:ALLDATAONTHISF

6、ILESYSTEMWILLBELOST!");printf("ProceedwithFormat(Y/N)?");scanf("%c",&choice);getchar();if((choice=='y')

7、

8、(choice=='Y')){if((fp=fopen(image_name,"w+b"))==NULL){printf("Can'tcreatefile%s",image_name);exit(-1);}for(i=0;i

9、"/");inode.type='d';strcpy(inode.user_name,"/");inode.iparent=0;inode.length=0;inode.address[0]=-1;inode.address[1]=-1;fwrite(&inode,sizeof(Inode),1,fp);inode.inum=-1;for(i=0;i<31;i++)fwrite(&inode,sizeof(Inode),1,fp);for(i=0;i

10、txtif((fp=fo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。