实验文件管理二

合集下载

文件管理实验报告

文件管理实验报告

文件管理实验报告一、实验目的文件管理是操作系统的重要组成部分,本次实验的目的在于深入理解文件管理的基本概念和原理,掌握文件的存储、组织、检索和访问等操作,熟悉常见的文件系统结构和功能,提高对文件管理系统的实际操作能力和问题解决能力。

二、实验环境1、操作系统:Windows 102、开发工具:Microsoft Visual Studio 2019三、实验内容1、文件的创建、删除和重命名使用 C++或 Python 编程语言,通过系统调用或相关库函数实现文件的创建、删除和重命名操作。

观察文件在操作系统中的实际表现,如文件的出现和消失,文件名的更改等。

2、文件的读写操作实现对文本文件和二进制文件的读写操作,包括读取文件的全部内容、按行读取文件、向文件写入数据等。

分析不同读写模式(如只读、只写、读写等)对文件操作的影响。

3、文件属性的获取和修改获取文件的基本属性,如文件大小、创建时间、修改时间、访问权限等。

尝试修改文件的部分属性,如只读属性、隐藏属性等,观察修改后的效果。

4、文件目录的操作创建、删除和遍历目录。

实现文件在不同目录之间的移动和复制操作。

四、实验步骤1、文件的创建、删除和重命名以下是使用 Python 实现文件创建、删除和重命名的示例代码:```pythonimport os创建文件file_path ="exampletxt"with open(file_path, 'w') as f:fwrite("This is a test file")删除文件osremove(file_path)重命名文件new_file_path ="renamed_exampletxt"osrename(file_path, new_file_path)```运行代码后,可以在指定的目录中观察到文件的创建、删除和重命名操作的结果。

2、文件的读写操作读取文本文件的示例代码:```pythonfile_path ="text_filetxt"with open(file_path, 'r') as f:content = fread()print(content)```按行读取文本文件的示例代码:```pythonfile_path ="text_filetxt"with open(file_path, 'r') as f:for line in f:print(linestrip())```写入数据到文件的示例代码:```pythonfile_path ="outputtxt"with open(file_path, 'w') as f:fwrite("New data written to file")```分别运行上述代码,观察文件的读写结果。

大学计算机实验二实验报告

大学计算机实验二实验报告

3) 添加应用程序桌面图标。点击开始,在菜单中点击“所有应用”,找到需要添加的应用, 直接按住该应用并拖到桌面空白处即可
4) 删除桌面图标。在需要删除的桌面图标上单击鼠标右键,在弹出的菜单中选择删除即可
二. 文件管理 1.隐藏文件或文件夹及显示隐藏的文件或文件夹。 1)对着需要隐藏的文件单击右键,在弹出的快捷窗口中单击“属性”。 2)在“常规”选项下找到“属性”单击“隐藏”点击“确定”,选择“将更改应用于此文件夹 、子文件夹和文件”后,点击“确定”即可。
1) 打开“开始”菜单,输入“控制面板”命令打开控制面板,在控制面板内选择“日期和时
间”弹出的对话框内选择“日期和时间选项卡”,更改日期、时间、时区后点击确定即可达 到更改日期、时间、时区的目的。
2) 也可在控制面板内选择“Internet 时间选项卡”,在弹出的对话框内勾选与“Internet 时间服 务器”同步,并且在服务器的下拉列表框中选择第一个选项,点击确定即可
实验过程及内容: 一. 基础操作 1. 设置桌面背景 1) 在桌面的没有桌面图标的区域单击鼠标右键,并在出现的快捷菜单中单点击“个性化”。
2) 单击“背景”。打开“背景”后,可以看见个性化设置背景。
3) 在下方的“最近使用的图像”中任意单击一张图片即可将桌面背景设置为此图片。
注:也可在第三步中点击“浏览照片”并选择自己喜欢的图片做为桌面背景。 2. 调整计算机系统的日期和时间
3. 设置桌面图标 1) 添加文件或文件夹图标。鼠标右键点击需要添加快捷方式的文件,选择“显示更多选项”, 在弹出的菜单中选择“发送到”,在弹出的新菜单中点击“桌面快捷方式”即可。 2) 添加系统图标。在设置中找到“个性化”选修卡,点击“主题”选项,点击“桌面图标设 置”在弹出的对话框内勾选需要的桌面图标点击确定即可完成设置。

操作系统实验报告文件管理

操作系统实验报告文件管理

操作系统实验报告文件管理文件管理是操作系统的重要功能之一,它负责对计算机系统中的文件进行组织、存储和访问。

文件管理系统的设计和实现对操作系统的性能和可靠性起着重要作用。

本文将介绍文件管理的基本概念、文件系统的组织方式和文件的操作方法。

一、文件管理的概念文件是计算机系统中存储和管理数据的基本单位,它可以是文本、图像、音频、视频等各种类型的数据。

文件管理的目标是实现对文件的有效组织和高效访问,使得用户和应用程序可以方便地读取、写入和删除文件。

文件管理系统主要包括以下几个方面:1.文件组织方式:文件可以按照不同的方式进行组织,包括顺序文件、索引文件、哈希文件等。

不同的组织方式有不同的优势和适用场景,可以根据实际需要选择合适的组织方式。

2.文件存储管理:文件在存储设备上的存储方式包括连续存储、链式存储和索引存储等。

不同的存储方式对文件的读写性能和空间利用率有影响,需要根据实际情况进行选择。

3.文件访问控制:对文件的访问需要进行权限控制,保证只有合法的用户或应用程序可以读取和写入文件。

文件访问控制主要通过访问权限和文件属性来实现。

二、文件系统的组织方式1.单级目录结构:这是最简单的文件系统组织方式,所有文件都位于同一个目录下。

由于没有目录的嵌套结构,文件的查找和管理比较简单,但是对于大量文件的管理不够灵活。

2.层次目录结构:该方式通过目录的嵌套结构来组织文件,可以形成一棵树状结构。

目录可以包含子目录和文件,用户可以通过目录路径来访问文件。

这种组织方式可以更好地组织大量的文件,提高文件的查找效率。

3.索引目录结构:该方式使用一个索引表来记录文件的位置和属性信息,用户通过索引表中的索引来访问文件。

索引表可以根据文件名、文件类型等信息快速定位到文件的位置,提高访问效率。

此外,索引表还可以支持对文件的动态增删改查操作。

三、文件的操作方法1.创建文件:文件的创建是指在文件系统中创建一个新文件,并为其分配存储空间。

创建文件时需要指定文件名和文件类型,并根据需要为文件设置访问权限和属性。

实验室文件管理制度标准版(通用15篇)

实验室文件管理制度标准版(通用15篇)

实验室文件管理制度标准版(通用15篇)实验室文件管理制度标准版篇1试验室管理制度1、试验室是进行试验检测分析、保存试验仪器用具和出具试验资料的重要场所。

应保持严肃安静,非本试验人员未经许可,不得入内。

2、试验室内应保持清洁、整齐,按指定位置安放试验器具。

3、正确使用仪器,经常维护,不用时要及时切断电源。

4、对所委托试验项目要填写委托单,并按委托内容填写派工单交相关组室进行试验检测。

5、为保证试验结论准确,数据真实。

试验人员必须排除各种干挠,做到实事求是。

6、试验原始记录应做到详细、整洁,并用钢笔填写及签名。

7、试验检测报告须经主任签字,加盖公章后方可有效。

8、试验委托单、派工单、原始记录和试验报告一并归档保存。

9、仪器与设备应明确责任人,注意维护保养。

10、为满足用户的要求,既有明确分工,同时又相互配合,使其准确及时。

检验工作管理制度1.检验人员必须经过专业技术培训,通过本公司考核持证上岗。

2.工作时应不少于2人(持证上岗),整个过程应独立完成。

3.检验人员应严格按照各检验项目的国家标准和本公司制定的仪器操作规程和检验实施细则进行,做好完整记录,不得弄虚作假。

4.检测室内的设备、安全、卫生等应由检测室内部专人管理。

5.非本公司人员不经允许不得擅自进入检测室。

6.当仪器设备处于工作状态时,检验人员不得离开,检验人员离开检测室时,照明电及门窗等要关好。

7.在检测室内不得做与检验工作无关的事。

仪器设备管理制度1.购置仪器设备,均由检测室负责人提出书面申请,由技术负责人申核,报经理批准,由供应部统一办理。

2.对新购置的仪器设备,由设备管理员验收,安装、调试、检验合格后,建立设备档案、设备检定周期表。

3.仪器设备技术档案做到一机一盒。

检验设备检定完毕后,设备管理员应进行设备编号,并根据不同的检定情况,加贴国家技术监督局统一制订的(绿、黄、红)三色标志,分别表示仪器设备检定结果为合格、准用、停用三种状态。

任何人不得涂改和撕毁有效标志。

最新文件管理实验报告

最新文件管理实验报告

最新文件管理实验报告
在本次实验中,我们对最新的文件管理系统进行了一系列的测试和评估。

实验的主要目的是验证该系统在处理大量文件时的效率、安全性以及用户体验。

以下是实验的主要发现和结论。

一、系统性能测试
1. 读写速度:通过对比不同大小文件的读写时间,我们发现该系统采用了优化的读写算法,显著提高了文件操作的速度。

2. 多任务处理能力:实验中模拟了多用户同时进行文件操作的场景,系统展现出良好的并发处理能力,无明显延迟现象。

二、安全性评估
1. 加密机制:系统内置了先进的加密算法,对存储的文件进行实时加密,有效防止了数据泄露。

2. 权限管理:通过设置不同的用户权限,系统能够精确控制文件的访问和操作权限,确保了数据的安全性。

三、用户体验分析
1. 界面设计:系统提供了直观的用户界面,使得文件管理变得简单易行,即使是非专业用户也能快速上手。

2. 搜索效率:系统具备强大的搜索功能,支持关键词、文件类型等多种搜索方式,大大提升了查找文件的效率。

四、问题与改进建议
1. 在处理超大型文件时,系统偶尔会出现性能下降的情况,建议进一步优化文件处理算法。

2. 尽管系统提供了基本的备份功能,但缺乏自动化和云同步的选项,建议增加这些功能以提高数据的可靠性。

综上所述,最新的文件管理系统在性能、安全性和用户体验方面均表现出色,但仍有改进空间。

我们期待开发团队能够根据这些反馈继续优化产品,以满足更广泛的用户需求。

文件管理实验报告结果(3篇)

文件管理实验报告结果(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,验证文件管理的有效性和可行性,并对文件管理系统的性能进行评估。

通过实验,了解文件管理的相关原理和方法,提高文件管理的实践能力。

二、实验环境1. 操作系统:Windows 102. 文件管理系统:Windows文件管理器3. 实验数据:实验过程中产生的文件和数据三、实验内容1. 文件创建与删除2. 文件夹创建与删除3. 文件与文件夹的复制、移动、重命名4. 文件属性的设置与修改5. 文件搜索与查找6. 文件权限管理7. 文件压缩与解压四、实验步骤1. 文件创建与删除(1)在Windows文件管理器中,新建一个名为“实验文件.txt”的文本文件。

(2)在“实验文件.txt”上右击,选择“删除”,确认删除。

2. 文件夹创建与删除(1)在Windows文件管理器中,新建一个名为“实验文件夹”的文件夹。

(2)在“实验文件夹”上右击,选择“删除”,确认删除。

3. 文件与文件夹的复制、移动、重命名(1)将“实验文件.txt”复制到“实验文件夹”中。

(2)将“实验文件.txt”移动到桌面。

(3)将“实验文件.txt”重命名为“实验文件修改.txt”。

4. 文件属性的设置与修改(1)在“实验文件修改.txt”上右击,选择“属性”,设置文件属性为“只读”。

(2)修改“实验文件修改.txt”的属性为“隐藏”。

5. 文件搜索与查找(1)在Windows文件管理器中,输入“实验文件”进行搜索。

(2)使用“查找”功能,查找“实验文件修改.txt”。

6. 文件权限管理(1)在“实验文件夹”上右击,选择“属性”,点击“安全”标签。

(2)添加用户权限,设置权限为“完全控制”。

7. 文件压缩与解压(1)将“实验文件夹”压缩为“实验文件夹.zip”。

(2)解压“实验文件夹.zip”到指定位置。

五、实验结果与分析1. 文件创建与删除:实验成功创建和删除了文件,验证了文件管理的可行性。

2. 文件夹创建与删除:实验成功创建和删除了文件夹,验证了文件管理的可行性。

Linux 实验报告二文件和目录管理

Linux 实验报告二文件和目录管理

Linux操作系统报告单专业:计算机科学与技术学号:姓名:名称:文件和目录管理任课教师:班级:完成日期:成绩:一、实验名称及目的:实验名称:文件和目录管理实验目的:1、了解linux系统的文件和目录结构2、熟悉linux系统的文件和目录管理的方式和命令3、能够熟练的使用文件和目录管理命令二、实验内容及要求:1.查看操作系统的根目录下,有哪些目录2.文件操作(1)查看文件(可以是二进制的)内容 cat执行格式:cat filename 或more filename 或cat filename|more 例: cat file1 以连续显示方式,查看文件 file1 的内容 more file1或 cat file1|more 以分页方式查看文件的内容(2)删除文件rm执行格式: rm filename 例: rm file? rm f* (3)复制文件 cp执行格式:cp [­r] source dest ination 例:cp file1 file2将 file1 复制成 file2cp file1 dir1 将file1复制到目录 dir1 cp /tmp/file1 将file1复制到当前目录cp /tmp/file1 file2 将file1复制到当前目录名为 file2 cp –r dir1 dir2 (recursive copy)复制整个目录(4)移动或更改文件、目录名称 mv执行格式: mv source destination 例:mv file1 file2 将文件 file1,更名为 file2mv file1 dir1 将文件 file1,移到目录 dir1 下 mv dir1 dir2(5)比较文件(可以是二进制的)或目录的内容 diff执行格式:diff [­r] name1 name2 (name1、name2 同为目录)文件或例: diff file1 file2 比较 file1 与 file2 的不同处diff –r dir1 dir2 dir1 与 dir2 的不同处(6)文件中字符串的查找 grep专业:计算机科学与技术学号:姓名:执行格式:grep string file1例:grep abc file1 查找并列出串 abc 所在的整行文字 3、系统询问与权限口令(1)查看系统中的使用者执行格式: who (2)查看 username执行格式: who am I 查看自己的 username (3)改变自己的 username 的帐号与口令 su执行格式: su username例: su username 输入账号 Password 输入密码(4)文件属性的设置 chmod执行格式:chmod [­R] mode name 其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理 mode 为 3-8 位数字,是文件/目录读、写、执行允许权的缩写(r:read,数字代号为"4", w:write,数字代号为"2", x:execute,数字代号为"1")mode: rwx rwx rwx user group other 缩写:(u)(g)(o)例:chmod 755 dir1 将将目录 dir1 设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。

实验室程序文件(二)2024

实验室程序文件(二)2024

实验室程序文件(二)引言概述:实验室程序文件是在实验室环境中使用的关键文件,它们对于实验室的管理和操作起着重要的作用。

本文将详细介绍实验室程序文件的相关内容,并从以下五个大点进行阐述:文件的命名规则、文件的存储方式、文件的格式与结构、文件的更新与版本控制,以及文件的安全与备份。

正文:1. 文件的命名规则- 关键字命名法:使用简明的关键字来命名文件,以便在浏览文件时能够迅速找到所需的文件。

- 规范化命名法:遵循公司或实验室的统一命名规范,以保持文件命名的统一性和一致性。

- 版本号命名法:在文件名称中添加版本号,以便在文件更新时能够区分不同版本的文件。

2. 文件的存储方式- 按功能分类存储:将具有相同功能或用途的文件存放在同一个文件夹中,以便快速查找和管理。

- 按时间分类存储:将文件按照时间顺序存储,以便追溯历史版本或记录实验过程中的变化。

- 网络共享存储:通过网络将文件存储在中央服务器上,以便多人协作和远程访问。

3. 文件的格式与结构- 文件格式选择:选择适合实验室需求的文件格式,如文本文档、电子表格、图像文件等。

- 文件结构设计:根据实验室工作的特点,设计文件的结构和布局,使其具有清晰的层次结构和易于阅读的内容。

4. 文件的更新与版本控制- 定期更新:定期检查实验室程序文件,并对需要更新的文件进行相应修改和更新,以确保文件的准确性和有效性。

- 版本控制系统:使用版本控制系统来管理文件的不同版本,记录文件的修改历史和变更信息,以便追溯和回滚文件的变动。

5. 文件的安全与备份- 权限管理:设置文件的访问权限,确保只有授权人员才能查看和修改实验室程序文件。

- 定期备份:定期对实验室程序文件进行备份,以防止文件丢失或损坏,并保证实验室的正常运行。

结论:实验室程序文件是实验室管理和操作的重要组成部分。

通过遵守命名规则、合理存储文件、设计良好的格式和结构、进行定期更新与版本控制以及保证文件的安全与备份,可以有效地管理和优化实验室程序文件的使用和维护。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六:文件系统、目的要求1用高级语言编写与调试一个简单的文件系统,模拟文件管理的工作过程。

从而对各种文件操作命令的实质内容与执行过程有比较深入的了解。

2、要求设计一个n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write 等命令。

二、例题:①设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。

②程序采用二级文件目录(即设置主目录[MFD])与用户文件目录(UEDK 另外, 为打开文件设置了运行文件目录(AFD。

③为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。

④算法与框图:a、因系统小,文件目录的检索使用了简单的线性搜索。

b、文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。

c、程序中使用的主要设计结构如下:I、主文件目录与用户文件目录(MFD UFD)U、打开文件目录(AFD)即运行文件目录)U F D文件名保护码文件长度文件名三、调度算法的流程图四、文件管理源程序#includevstdio、h>#include<string、h>#includevmalloc、h>#include<stdlib、h> typedef struct ufd { char [10];/* 文件名*/ char procode[8];/* 属性*/int length;/* 文件长度*/struct ufd *nextfile;/* 指向下一个文件*/ }UFD;typedef struct mfd{ char username[10];/* 用户名*/struct ufd *link;/* 指向该用户的第一个文件*/ }MFD;typedef struct protected_flag{ char code[4];}PRO;typedef struct afd/* 运行文件目录*/{ char [10];/* 打开文件名*/char procode[4];int rwpointer;/* 读写指针*/}AFD;PRO flag[3]={"100",/* 只读*/"110",/* 读写*/"001"/* 可执行*/};UFD *rw_pointer;/* 读写指针*/AFD *afd=NULL;MFD [10];int num;/* 当前用户个数*/void displayallfile(){ int i;UFD *p;for(i=0;i<num;i++){printf(" 用户:%s 目录如下!\n",[i] 、username); p=[i]、link;while(p){ printf("\t 文件名: %s\t||",p->);printf(" 文件属性: %s\t||",p->procode); printf(" 文件长度: %d\n\n",p->length); p=p->nextfile;}void input() /* 建立用户文件系统*/{ int i,j;int length;char [10];char procode[4];UFD *p1,*p2,*first;for(i=0;i<10;i++)[i]、link=NULL;printf(" 用户号码:\n");scanf("%d",&num);for(i=0;i<num;i++)/* 输入各用户名称*/{printf("输入第%d个用户名:\n",i+1);scanf("%s",[i]、username);} for(i=0;i<num;i++)/* 输入某用户的文件数据*/ { j=1;printf("第%d个用户的文件如下\n",i+1);printf(" 文件%d:\n",j);printf(" 长度:");scanf("%d",&length);if(!length)continue;printf(" 文件名:");scanf("%s",);printf("文件属性(100只读,110读写,001可执行)"); scanf("%s",procode);first=(UFD*)malloc(sizeof(UFD));first->next;strcpy(first->); strcpy(first->procode,procode); first->length=length;p1=p2=first;j++;while(1){printf(" 文件%d:\n",j);printf(" 长度:");scanf("%d",&length);if(!length)break;printf(" 文件名:");scanf("%s",);printf("属性(100只读,110读写,001可执行):");scanf("%s",procode);p2=(UFD*)malloc(sizeof(UFD));p2->next;strcpy(p2->);strcpy(p2->procode,procode); p2->length=length; j++;p1->next; p1=p1->nextfile; } [i]、link=first; } displayallfile();}int findusername(char * username)/* 返回用户名下标,当I=NUM 时,用户不存在*/ { int i;i=0;while(i<num){if(!strcmp([i] 、username ,username))break;i++;}return i;}UFD * find(char * *){UFD *k;k=; while(k&&strcmp(>)) k=k->nextfile;return k;}void display *link){ UFD *p;p=link;if(!p){ printf("\n 此目录没有该文件!");return;}printf("\n 用户文件如下:\n");while(p){ printf("%s\t||",p->);printf("%s\t||",p->procode);printf("%d\n\n",p->length);p=p->nextfile;}void createfile(){ char username[10];char [10];int i;UFD *p1,*p2,*newfile; if(num>=10)/* 用户文件目录已满,创建文件失败*/ { printf(" 用户文件目录已满\n 创建文件失败!\n");return;}printf(" 输入用户名:\n");scanf("%s",username);i=findusername(username);/* 返回用户名下标*/ if(i==num)/* 如果该用户不存在,且用户个数不小于10,先创建用户再建立用户文件*/{printf(" 用户不存在,请建立用户!\n");strcpy([ num]、user name ,user name);/* 创]建用户目录*/num++;{newfile =(UFD *)malloc(sizeof(UFD));newfile->next;[num-1] 、 link=newfile;printf(" 文件名 :");scanf("%s",[num-1]、 link->);printf("\n 属性 :"); scanf("%s",[num-1]、 link->procode); printf("\n 长度 :");scanf("%d",&([num-1]、 link->length));printf("\n 文件已创建 !\n");}}else/* 为已存在的用户建立文件 */ {p1=p2=[i]、 link ;printf(" 输入文件名 :");scanf("%s",);while(p2){ if (!strcmp(p2->)){ printf(" 文件名已存在 ,请输入新文件名 !\n");scanf("%s",); } p1=p2;p2=p2->nextfile;}newfile=(UFD *)malloc(sizeof(UFD));newfile->next; strcpy(newfile->);printf("\n 属性:"); scanf("%s",newfile->procode);printf("\n 长度:");scanf("%d",&(newfile->length));p1->nextprintf("\n 文件已创建!\n");} displayallfile();}void displayuser()/* 显示用户目录*/{int i;if(num<=0)return;printf("\n 用户目录如下! ");for(i=0;i<num;i++);printf("\n%s",[i] 、username);}void deletefile() /* 删除文件*/{ int i;char username[10];char [10];UFD *p1,*p2;printf("\n 输入用户名:\n");scanf("%s",username);i=fi ndusername(username);// 返回用户名下标if(i>=num) {printf(" 用户不存在!\n 删除失败!");return ;}else{ printf("\n 输入文件名:");scanf("%s",);p1=p2=[i]、link;while(p2&&strcmp(p2->)){p1=p2;p2=p2->nextfile;}if(!p2)printf("\n 文件不存在!\n 删除失败!\n");else{ if(p1==p2)[i]、link=p1->nextfile;elsep1->next>nextfile;delete(p2);printf(" 文件已删除!\n");}}displayallfile();}AFD * openfile(){ char username[10];char [10];int i;UFD *p=NULL;AFD *k=NULL;/*为打开的文件设置了运行文件目录*/printf(" 输入用户名:\n");scanf("%s",username);i=findusername(username);/*返回用户名下标*/if(i>=num){printf("\n 用户不存在!\n 不能打开文件!\n");return NULL;}else/*用户存在*/{printf("\n 输入文件名:");scanf("%s",);p=find([i]、link);if(!p)/* 用户文件不存在*/{printf("\n 文件不存在!\n");return NULL;}else{afd=(AFD *)malloc(sizeof(AFD));strcpy(afd->>);strcpy(afd->procode,p->procode);afd->rwpointer=0;printf("\n 文件已打开!\n");rw_pointer=p;/* 为了读文件保留指针*/printf("\t 文件目录AFD:\n"); /*打开运行文件目录AFD*/printf("\t 文件名: %s\n",afd->);printf("\t 属性: %s\n",afd->procode);printf("\t 读写指针: %d\n",afd->rwpointer); }}return afd; }void closefile(){ if(!afd){ printf("\n 没有文件打开!\n");return; }delete(afd);afd=NULL;printf("\n 文件已关闭!\n");}void readfile()//{ AFD *p;p=openfile();if(!p)return;if(strcmp(p->procode,"100")&&strcmp(p->procode,"110")) printf("\n 文件不可读!\n",p->);/* 操作*/else{ printf(" 已读取文件!\n");printf("\t 文件名:%s\n",p->);printf("\t 属性:%s\n",p->procode);printf("\t 读写指针:%d\n",rand()%rw_pointer->length); } closefile();/* 关闭文件*/ }void writefile(){ AFD *p;/* 运行文件目录*/UFD *k; p=openfile(); k=rw_pointer; if(!p) return;if(strcmp(p->procode,"110")){printf("\n 该文件不能写!\n",p->);return; }else{ p->rwpointer=rand()%k->length;k->length=p->rwpointer ;/* 修改读书指针写回文件*/ }printf("\n 已完成写操作!\n");printf("\t 文件名: %s\n",k->);printf("\t 属性: %s\n",k->procode);printf("\t 长度: %d\n",k->length); closefile();}void executefile(){ AFD *p;p=openfile();if(!p){printf("\n 文件不存在!\n");return;} if(strcmp(p->procode,"001")) {printf("\n 该文件不能执行!\n"); printf("\n 文件属性为不可执行文件!\n"); return;} else{ closefile();printf("\n 文件执行完毕!"); }}void menu(){ printf(" -------------------------------------------------------------------------------- \n");printf(" < 文件管理> \n");printf(" ---------------------------------------------------------------------------- \n");printf(" MENU :\n");printf("\t\tmenu -------- 显示菜单\n");printf("\t\topen -------- 打开文件\n");printf("\t\tclose -------- 关闭文件\n");printf("\t\tcreate ------- 创建文件\n");printf("\t\tread --------- 读文件\n");printf("\t\twrite --------- 写文件\n");printf("\t\texecute ----- 执行文件\n");printf("\t\tdelete ------- 删除文件\n");printf("\t\tdisplay ------ 显示文件列表\n");printf("\t\texit ------- 退出\n");printf("\t 注意:输入时当文件长度为0 时表示该用户的文件输入结束!\n"); printf(" -------------------------------------------------------------------------------------- \n");}void ()/* 文件基本操作*/{ char str[10];int sort;while(1){printf(" 输入命令:\n"); printf(">>");scanf("%s",str);if(!strcmp(str,"create"))sort=1; else if(!strcmp(str,"delete"))sort=2; elseif(!strcmp(str,"read"))sort=3; else if(!strcmp(str,"write"))sort=4; elseif(!strcmp(str,"execute"))sort=5; elseif(!strcmp(str,"open"))sort=6; else if(!strcmp(str,"close"))sort=7; elseif(!strcmp(str,"menu"))sort=8; else if(!strcmp(str,"display"))sort=9; elseif(!strcmp(str,"exit"))sort=10; else sort=0;switch(sort){ case 1:createfile();break; case 2:deletefile();break; case 3:readfile();break; case 4:writefile();break; case 5:executefile();break; case 6:openfile();break; case 7:closefile();break; case 8:menu();break;case 9: displayallfile();break; case 10: return; default:break; }}}void main(){ menu(); input(); ();}。

相关文档
最新文档