欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    文件管理实验.doc

    • 资源ID:90583       资源大小:231KB        全文页数:12页
    • 资源格式: DOC        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    文件管理实验.doc

    1、江南大学物联网工程学院实验报告课程名称 操作系统 实验名称 文件系统实验 实验日期 2015/5/28 班级 计算机1206 姓名 王成义 学号 1030412612 仪器编号 实验报告要求 1实验目的 2实验要求 3实验步骤 4程序清单 5运行情况 5实验体会1实验目的用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。 2实验要求要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、writ

    2、e等命令。 3实验步骤主目录操作:流程图:4程序清单编一个通过屏幕选择命令的文件管理系统,每屏要为用户提供足够的选择信息,不需要打入冗长的命令。#include #include #include /主文件结构体 struct MasterFile char username20; /用户名 char password20; /用户名密码 char flag; /标志 struct MasterFile *next; ; /用户文件结构体 struct UserFile int fnum; /文件编号 char fname20; /文件名 int flength; /文件长度 char fla

    3、g; /标志 char fpw20; /文件保护码 struct UserFile *link; ; /全局变量 int shoudsave; /存储标记 int usingnum; /当前用户标记 struct MasterFile MFD20; /主目录 struct UserFile UFD2020; /用户目录 /寻找主目录空闲区 struct MasterFile*MoveMFDToLast() for(int i=0;i20;i+) if(MFDi.flag=0) usingnum=i; return &MFDi; return NULL; /查找用户 struct MasterF

    4、ile*SearchMFD(char str) for(int i=0;i20;i+) if(strcmp(str,MFDi.username)=0) usingnum=i; return &MFDi; return NULL; /寻找用户目录空闲区 struct UserFile *MoveUFDToLast() for(int i=0;i20;i+) if(UFDusingnumi.flag=0) return &UFDusingnumi; return NULL; /查找用户文件 struct UserFile *SearchUFD(int num) for(int i=0;i20;i+

    5、) if(UFDusingnumi.fnum=num) return &UFDusingnumi; return NULL; /删除用户文件目录 void LeftMoveUFD(int num) for(int i=0;i20;i+) if(UFDusingnumi.fnum=num) for(int j=i;jusername,str1); strcpy(p-password,str2); p-flag=1; printf(%d,MFDusingnum.flag); p-next=NULL; shoudsave=1; /存储标记 else /旧用户登录 while(1) printf(请输

    6、入你的用户名:); /输入用户名 scanf(%s,&str3); p=SearchMFD(str3); if(p=NULL) printf(对不起,你输入的用户名不存在!n); printf(继续(y)还是放弃(n)?); scanf(%s,&flag3); if(flag3=y) continue; else printf(你已退出了系统!n); exit(1); else while(1) printf(请输入口令:); /输入口令 scanf(%s,&str4); if(strcmp(str4,p-password)!=0) printf(对不起,你输入的口令不正确,请重新输入.n);

    7、 continue; else break; break; /菜单 void menu() printf(n*); printf(t1列文件目录ttttt2创建文件n); printf(t3删除文件ttttt4读文件n); printf(t5写文件tttttt0退出系统n); printf(*n); /列文件目录 void Dir() if(MFDusingnum.next=0) printf(目前你不存在任何文件!n); else for(int i=0;ilink=(struct UserFile*)fp; /设置用户目录 MFDusingnum.next=(struct MasterFi

    8、le*)&UFDusingnum0; strcpy(f-fname,str1); strcpy(f-fpw,str2); f-fnum=num; f-flength=0; f-flag=1; fclose(fp); shoudsave=1; /设置存储标记 printf(文件已创建!n); /删除文件 void Delete() struct UserFile *f; int num; printf(请输入你要删除的文件编号:); scanf(%d,&num); f=SearchUFD(num); /查找用户文件 if(f=NULL) printf(你要删除的文件不存在!n); else Le

    9、ftMoveUFD(num); /删除用户文件目录 printf(文件已删除!n); shoudsave=1; /设置存储标记 /读文件 void Read() char ch; struct UserFile *f; FILE *fp; int num; printf(请输入你要读的文件的编号:); scanf(%d,&num); f=SearchUFD(num); /查找文件 if(f=NULL) printf(你输入的文件不存在!n); else if(fp=fopen(f-fname,r)=NULL) /打开指定文件 printf(不能打开该文件!n); exit(0); ch=fge

    10、tc(fp); /输出文件内容 while(ch!=EOF) putchar(ch); ch=fgetc(fp); printf(n); fclose(fp); /关闭文件 printf(文件已读完毕!n); /写文件 void Write() char ch; struct UserFile *f; FILE *fp; int num; printf(请输入你要写的文件的编号:); scanf(%d,&num); f=SearchUFD(num); /查找文件 if(f=NULL) printf(你输入的文件不存在!n); else if(fp=fopen(f-fname,wr)=NULL)

    11、 /打开指定文件 printf(不能打开该文件!n); exit(0); printf(请按字符输入内容(以#表示结束符); /写入文件 scanf(%s,&ch); while(ch!=#) fwrite(&ch,1,1,fp); scanf(%s,&ch); fclose(fp); /关闭文件 shoudsave=1; /设置存储标记 printf(文件写入完毕!n); /保存 void Save() FILE *fpm,*fpu; int flag=1,count=0; fpm=fopen(F:MasterFile.txt,wb); /打开主文件 if(fpm=NULL) printf(

    12、n提示:重新打开主文件信息文件时发生错误!n); exit(1); for(int i=0;i20;i+) fwrite(&MFDi,sizeof(struct MasterFile),1,fpm); /保存主文件目录信息 fclose(fpm); printf(主文件目录信息保存完毕!n); fpu=fopen(F:UserFile.txt,wb); /打开用户文件 if(fpu=NULL) printf(n提示:重新打开用户目录信息文件时发生错误!n); exit(1); for(int j=0;j20;j+) /保存用户文件目录信息 fwrite(&UFDj,sizeof(struct

    13、UserFile),20,fpu); fclose(fpu); printf(用户文件目录信息保存完毕!n); /主函数 int main() printf(nntt*ttn);printf(tttt实验四 文件管理n);printf(tt*ttn);printf(nnnttttt计算机1206n);printf(ttttt王成义n);printf(ttttt1030412612n);printf(ttttt完成时间:2015/5/28nnnn);printf(ttttWelcomenn);FILE *fpm,*fpu; /文件指针 int sel; char ch; char jian; p

    14、rintf(tttt文件管理系统nttttn); fpm=fopen(D:MasterFile.txt,rb); /打开主文件目录信息文件 if(fpm=NULL) printf(n提示:主文件目录信息文件还不存在,是否创建?(y/n)n); scanf(%s,&jian); if(jian=y|jian=Y) fpm=fopen(D:MasterFile.txt,wb); /创建主文件目录的文件 else exit(0); fpu=fopen(D:UserFile.txt,rb); /打开用户文件目录信息文件 if(fpu=NULL) printf(n提示:用户文件目录信息文件还不存在,是否

    15、创建?(y/n)n); scanf(%s,&jian); if(jian=y|jian=Y) fpu=fopen(D:UserFile.txt,wb); /创建用户文件目录的文件 else exit(0); printf(文件正在打开,请稍等.); for(int i=0;i20;i+) /读取主文件目录信息 fread(&MFDi,sizeof(struct MasterFile),1,fpm); /将文件的内容放入接点中 fclose(fpm); / 关闭文件 while(!feof(fpu) /读取用户目录文件信息 for(int i=0;i20;i+) if(fread(&UFDi0,

    16、sizeof(struct UserFile),20,fpu) /将文件的内容放入接点中 MFDi.next=(struct MasterFile*)&UFDi0; fclose(fpu); /关闭文件 printf(n文件已导入完毕!n); Login(); /用户登录while(1) /菜单操作 menu(); printf(请你选择操作:); scanf(%d,&sel); if(sel=0) /保存文件信息 if(shoudsave=1) getchar(); printf(n资料已经改动,是否将改动保存到文件中(y/n)?n); scanf(%c,&ch); if(ch=y|ch=Y

    17、) Save(); printf(n你已经退出系统,再见!n); break; switch(sel) case 1:Dir(); break; /列文件目录 case 2:Create();break; /创建文件 case 3:Delete();break; /删除文件 case 4:Read(); break; /读文件 case 5:Write(); break; /写文件 default: printf(你输的选项有误,请重新输入!n);break; system(PAUSE);return 0;5运行情况6实验体会 通过编写和调试此次文件系统,加深了对各种文件操作命令的实质内容和执行过程的了解。对文件系统有了更深的了解。教师评价 优良 中及格不及格教师签名日期


    注意事项

    本文(文件管理实验.doc)为本站会员(奥沙丽水)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开