实验四 文件管理实验new

实验四 文件管理实验new

ID:19569408

大小:68.00 KB

页数:6页

时间:2018-10-03

实验四  文件管理实验new_第1页
实验四  文件管理实验new_第2页
实验四  文件管理实验new_第3页
实验四  文件管理实验new_第4页
实验四  文件管理实验new_第5页
资源描述:

《实验四 文件管理实验new》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验四文件管理实验◆实验名称:文件管理实验◆仪器、设备:计算机◆参考资料:操作系统实验指导书◆实验目的:设计一个n个用户的文件系统,用户在一次运行中只能打开一个文件,有Create、delete、open、close、read、write等命令。◆实验内容:为DOS系统设计一个简单的二级文件系统。要求可以实现下列几条命令CREATE创建文件DELETE删除文件OPEN打开文件CLOSE关闭文件READ读文件WRITE写文件◆实验原理、数据(程序)记录:#defineMAXNAME25/*thelargestlengthofmfdname,ufdname

2、,filename*/#defineMAXCHILD50/*thelargestchild*/#defineMAX(MAXCHILD*MAXCHILD)/*thesizeoffpaddrno*/voidCreateF()/*CreateFile*/{intfpaddrno,flag=1,i;charfname[MAXNAME],str[50],str1[50],strtext[255],a[25];charfmode[25];intFindPANo();/*findoutphysicaladdressnum*/intWriteF1();/*writef

3、ile*/intExistF(char*filename);/*WhetherFileNameExist,Exist-i,NotExist-0*/intExistD(char*dirname);if(strcmp(strupr(dirname),strupr(username))!=0){printf("Error.Youmustcreatefileinyourowndir.");wgetchar=1;}else{printf("PleaseinputFileName:");gets(fname);ltrim(rtrim(fname));i

4、f(ExistF(fname)>=0){printf("Error.Name'%s'hasalreadyexisted.",fname);wgetchar=1;}else{printf("PleaseinputFileMode(0-ReadOnly,1-WriteOnly,2-ReadandWrite,3-Protect):");gets(fmode);ltrim(rtrim(fmode));if((strcmp(fmode,"0")==0)

5、

6、(strcmp(fmode,"1")==0)

7、

8、(strcmp(fmode,"2")==0)

9、

10、

11、(strcmp(fmode,"3")==0)){fpaddrno=FindPANo();if(fpaddrno>=0){i=ExistD(username);strcpy(ufd[i]->ufdfile[fcount[i]].fname,fname);ufd[i]->ufdfile[fcount[i]].fpaddr=fpaddrno;ufd[i]->ufdfile[fcount[i]].fmode=atoi(fmode);ifopen[i][fcount[i]].ifopen=0;ifopen[i][fcount[i]].openmode=4;str

12、cpy(str,"c:\osfile\file\file");itoa(fpaddrno,str1,10);strcat(str,str1);fp_file=fopen(str,"wb");fclose(fp_file);fcount[i]++;while(flag){printf("Inputtextnow(Y/N):");gets(a);ltrim(rtrim(a));ufd[i]->ufdfile[fcount[i]-1].flength=0;if(strcmp(strupr(a),"Y")==0){fp_file=fopen(str,"w

13、b+");ufd[i]->ufdfile[fcount[i]-1].flength=WriteF1();flag=0;}elseif(strcmp(strupr(a),"N")==0){flag=0;wgetchar=1;}}printf("'%s'hasbeencreatedsuccessfully!",fname);}else{printf("Fail!NoDiskSpace.Pleaseformatyourdisk.");wgetchar=1;}}else{printf("Error.FileMode'sRangeis0

14、-3");wgetchar=1;}}}}intExistF(char*filename)/

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

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

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