您好,欢迎访问三七文档
《操作系统》实验指导(五)Linux文件操作与命令接口(综合性2学时)1、实验目的:1)熟悉LINUX文件系统;2)通过编写文件操作的程序,进一步掌握操作系统的文件管理机制。3)掌握简单的用户接口(字符菜单)的设计方法。2、实验内容:(1)编写程序p.c,其功能是从键盘输入两个实数,输出这两个实数的平方和,生成可执行文件为pow。记录编译的命令和结果。#includestdio.hmain(){doublea,b;scanf(%lf%lf,&a,&b);printf(%lf,a*a+b*b);}(2)在LINUX下编写显示文件内容的程序mycat.c,要求在运行时能提示输入文件名,当完成文件名输入后,在屏幕上显示文件内容。#includestdio.hmain(){FILE*fp;charbuff[50];printf(请输入文件名:);scanf(%s,buff);fp=fopen(buff,r);charch;while((ch=fgetc(fp))!=EOF)putchar(ch);fclose(fp);}显示pow.c的内容(3)设计一个字符菜单的接口界面,其功能是能根据用户的选择,运行相应的程序模块,实现诸如改名文件、删除文件、显示文件等功能。(提示:要先将各模块分别命名成各函数,以便于主程序(main.c)调用。可参考程序中的命名方法,各函数名可以自定。)参考程序main.c:#includestdio.hvoidcreate_f(){charfilename[20];FILE*fp;printf(请输入创建的文件名:);scanf(%s,filename);if((fp=fopen(filename,wb))==NULL){printf(创建文件失败!\n);getchar();return;}printf(%s:创建完成\n,filename);}voidcopy_f(){charfilename1[20];charfilename2[20];intc;printf(请输入要复制的文件名:);scanf(%s,filename1);printf(请输入复制成的文件名:);scanf(%s,filename2);FILE*fp1,*fp2;fp1=fopen(filename1,rb);if(fp1==NULL){printf(要复制的文件不存在\n);return;}fp2=fopen(filename2,wb);if(fp2==NULL){printf(复制文件失败\n);return;}while((c=fgetc(fp1))!=EOF){fputc(c,fp2);}fclose(fp1);fclose(fp2);printf(%sto%s复制完成\n,filename1,filename2);}voidtype_f(){charfilename[20];charch;FILE*fp;printf(请输入要输入的文件名:);scanf(%s,filename);while((fp=fopen(filename,w))==NULL){printf(无法打开文件\n);return;}ch=getchar();printf(请输入准备存储到文件的字符串,#为结束\n);ch=getchar();while(ch!='#'){fputc(ch,fp);putchar(ch);ch=getchar();}fclose(fp);putchar(10);}voidrename_f(){charfilename1[20];charfilename2[20];printf(请输入要重命名的文件:);scanf(%s,filename1);printf(重命名文件,请输入新名字:);scanf(%s,filename2);rename(filename1,filename2);}voiddelete_f(){charfilename[20];printf(请输入要删除的文件名:\n);scanf(%s,filename);remove(filename);}main(){intselection;do{printf(inputselection\n);printf(1-createfile\n);printf(2-copyfile\n);printf(3-typefile\n);printf(4-renamefile\n);printf(5-deletefile\n);printf(0-quit\n);scanf(%d,&selection);getchar();switch(selection){case1:create_f();break;case2:copy_f();break;case3:type_f();break;case4:rename_f();break;case5:delete_f();break;}}while(selection!=0);}1,创建文件file13.输入文件,file12.复制文件file1,生成file24.重命名file2为file225.删除文件file223、实验结果分析:(对上述实验各题所使用的原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析。)直接在LINUX平台命令编译C语言,不容易找出错误。4、总结:你对本次实验有什么体会或看法。对C语言的文件知识基本上都忘了,很久没有使用。
本文标题:操作系统实验五
链接地址:https://www.777doc.com/doc-6252254 .html