操作系统综合设计--文件管理系统
操作系统文件管理系统模拟实验

文件管理系统模拟1.实验目的通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现 2.实验内容为Linux 系统设计一个简单的二级文件系统。
要求做到以下几点: (1)可以实现下列几条命令(至少4条) login 用户登录 dir列文件目录create 创建文件 delete 删除文件open 打开文件 close 关闭文件 read 读文件 write写文件(2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。
3.实验提示(1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。
主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改.(2)用户创建的文件,可以编号存储于磁盘上。
入file0,file1,file2…并以编号作为物理地址,在目录中进行登记。
4.源代码#include<stdio 。
h> #include 〈string.h 〉 #include 〈stdlib 。
h 〉 #define MEM_D_SIZE 1024*1024 //总磁盘空间为1M #define DISKSIZE 1024 //磁盘块的大小1K #define DISK_NUM 1024 //磁盘块数目1K #define FATSIZE DISK_NUM*sizeof (struct fatitem ) //FAT 表大小 #define ROOT_DISK_NO FATSIZE/DISKSIZE+1 //根目录起始盘块号 #define ROOT_DISK_SIZE sizeof (struct direct ) //根目录大小 #define DIR_MAXSIZE 1024 //路径最大长度为1KB #define MSD 5 //最大子目录数5#define MOFN 5//最大文件深度为5#define MAX_WRITE 1024*128//最大写入文字长度128KBstruct fatitem /* size 8*/{int item; /*存放文件下一个磁盘的指针*/char em_disk; /*磁盘块是否空闲标志位 0 空闲*/};struct direct{/*--——-文件控制快信息-—---*/struct FCB{char name[9]; /*文件/目录名 8位*/char property; /*属性 1位目录 0位普通文件*/int size; /*文件/目录字节数、盘块数)*/int firstdisk; /*文件/目录起始盘块号*/int next; /*子目录起始盘块号*/int sign; /*1是根目录 0不是根目录*/}directitem[MSD+2];};struct opentable{struct openttableitem{char name[9]; /*文件名*/int firstdisk; /*起始盘块号*/int size; /*文件的大小*/ }openitem[MOFN];int cur_size; /*当前打文件的数目*/};struct fatitem *fat; /*FAT表*/struct direct *root; /*根目录*/struct direct *cur_dir; /*当前目录*/struct opentable u_opentable; /*文件打开表*/int fd=—1; /*文件打开表的序号*/char *bufferdir; /*记录当前路径的名称*/char *fdisk; /*虚拟磁盘起始地址*/void initfile();void format();void enter();void halt();int create(char *name);int open(char *name);int close(char *name);int write(int fd,char *buf,int len);int read(int fd,char *buf);int del(char *name);int mkdir(char *name);int rmdir(char *name);void dir();int cd(char *name);void print();void show();void initfile(){fdisk = (char *)malloc(MEM_D_SIZE*sizeof (char)); /*申请 1M空间*/format();}void format(){int i;FILE *fp;fat = (struct fatitem *)(fdisk+DISKSIZE); /*计算FAT 表地址,引导区向后偏移 1k)*/ /*————-初始化FAT表-———---——-—-*/fat[0]。
操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验在计算机科学中,操作系统是一种系统软件,负责管理计算机硬件和软件资源,并为用户和应用程序提供接口。
文件管理系统是操作系统的一个重要组成部分,它负责管理计算机系统中的文件和目录,以及提供对它们的访问和操作。
本次实验旨在模拟操作系统中文件管理系统的基本功能和操作。
我们将使用一个虚拟的文件系统,通过命令行界面来模拟用户与文件系统的交互。
以下是实验的具体内容和步骤:1. 创建虚拟文件系统首先,我们需要创建一个虚拟的文件系统。
文件系统由文件和目录组成,可以通过树状结构来表示。
我们可以使用一个数据结构来模拟文件系统的存储和管理。
2. 初始化文件系统在开始操作文件系统之前,我们需要初始化文件系统。
这包括创建根目录和设置当前目录为根目录。
3. 文件和目录的创建与删除文件和目录是文件系统的基本单位。
我们可以通过命令来创建和删除文件和目录。
例如,使用"mkdir"命令创建一个目录,使用"touch"命令创建一个空文件,使用"rm"命令删除文件或目录。
4. 文件和目录的访问权限文件和目录可以设置不同的访问权限,以保护文件系统的安全性。
我们可以使用"chmod"命令来修改文件或目录的权限。
权限通常包括读、写和执行权限。
5. 文件和目录的重命名和移动我们可以使用"mv"命令来重命名文件或目录,使用"cp"命令来复制文件或目录,使用"mv"命令来移动文件或目录。
6. 文件和目录的查找和显示我们可以使用"ls"命令来显示当前目录下的文件和目录,使用"cd"命令来切换当前目录,使用"pwd"命令来显示当前目录的路径。
此外,我们还可以使用"find"命令来查找文件或目录。
7. 文件和目录的读写操作文件可以被读取和写入。
操作系统文件管理系统模拟实验

操作系统文件管理系统模拟实验操作系统文件管理系统模拟实验一、实验目的本实验旨在通过模拟操作系统的文件管理系统,加深对操作系统文件管理的理解,锻炼操作系统的应用能力。
二、实验环境1、操作系统:Windows/Linux/MacOS2、编程语言:C/C++/Java/Python等三、实验内容1、初始化文件管理系统1.1 创建根目录,并初始化空文件目录1.2 初始化用户目录和权限设置2、文件操作2.1 创建文件2.1.1 检查文件名合法性2.1.2 检查文件是否已存在2.1.3 为新文件分配磁盘空间2.1.4 添加文件元数据信息2.2 打开文件2.2.1 检查文件是否存在2.2.2 检查用户权限2.3 读取文件内容2.3.1 读取文件权限检查2.3.2 读取文件内容2.4 写入文件内容2.4.1 写入文件权限检查2.4.2 写入文件内容2.5 删除文件2.5.1 检查文件是否存在2.5.2 检查用户权限2.5.3 释放文件占用的磁盘空间2.5.4 删除文件元数据信息3、目录操作3.1 创建子目录3.1.1 检查目录名合法性3.1.2 检查目录是否已存在3.1.3 添加目录元数据信息3.2 打开目录3.2.1 检查目录是否存在3.2.2 检查用户权限3.3 列出目录内容3.3.1 列出目录权限检查3.3.2 列出目录内容3.4 删除目录3.4.1 检查目录是否存在3.4.2 检查用户权限3.4.3 递归删除目录下所有文件和子目录3.4.4 删除目录元数据信息四、实验步骤1、根据实验环境的要求配置操作系统和编程语言环境。
2、初始化文件管理系统,创建根目录,并初始化用户目录和权限设置。
3、进行文件操作和目录操作。
五、实验结果分析根据实验步骤进行文件操作和目录操作,观察系统的运行情况并记录相关实验结果。
六、实验结论通过本实验,深入了解了操作系统中文件管理系统的相关原理和实现方式,并且通过实验操作进一步巩固了相应的应用能力。
操作系统课程设计-一个简单的文件系统的详细设计

计算机系课程设计实验报告课程名称操作系统课程设计实验学期 2012 至 2013 学年第 1 学期学生所在系部计算机与信息管理系年级 2010 专业班级计算机001班学生姓名学号任课教师实验成绩计算机系制一个简单的文件系统的详细设计一、实验目的(1)阅读并调试一个简单的文件系统,模拟文件管理的工作过程。
从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
(2)了解设计一个n个用户的文件系统,每个用户可以保存M个文件。
用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。
二、实验要求1、阅读所给文件系统源程序,并加注释(注释量达60%),2、修改、完善该系统,画出所设计的文件系统的详细流程图。
三、文件系统功能设计1. 功能设计该文件系统是一个多用户、多任务的文件系统。
对用户和用户的文件数目并没有上限。
也就是说该系统允许任何用户申请空间,而且在其目录下的文件数目并不做任何的限制。
该系统可以支持的操作命令如下:①bye——用户注销命令。
当使用该命令时,用户退出系统,注销该用户功能设计并回到登陆界面。
命令格式:bye②close——删除用户注册信息命令。
执行该命令后,用户在系统中的所有信息,包括该用户目录下的所有文件都被删除。
命令执行完成后返回登陆界面。
命令格式:close③create——在当前目录下创建一个文件,且该文件不能跟当前已有的文件重名。
该文件的管理信息登记在用户文件信息管理模块中。
执行完该命令后回到执行命令行。
命令格式:create>file1其中:“>”符为提示符,file1为要创建的文件名。
④delete——删除当前用户目录下的一个文件,命令执行完毕返回至命令行。
命令格式:delete>file1其中:file1为要删除的文件名。
⑤list——显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限。
操作系统课程设计文件管理系统

操作系统课程设计文件管理系统1. 引言文件管理是操作系统中的一个重要模块,负责对计算机中的文件进行管理和组织。
在操作系统课程设计中,设计一个文件管理系统是一个很有挑战性的任务,需要考虑到文件的创建、打开、读取、写入、删除等功能,并且要确保文件的安全性和可靠性。
本文将详细介绍文件管理系统的设计与实现。
2. 需求分析为了满足用户对文件管理的需要,我们需要对文件管理系统的需求进行分析。
在这个文件管理系统中,用户应该能够执行以下操作:•文件的创建和命名•文件的打开和关闭•文件的读取和写入•文件的删除和修改•文件的搜索和查找除此之外,还要考虑到对文件权限的管理,可以设置不同用户对文件的不同访问权限,以保障文件的安全性。
3. 概要设计概要设计是对文件管理系统的整体架构和功能进行规划和设计。
文件管理系统可以采用层次结构的设计方式,分为用户界面、文件管理模块和存储管理模块。
3.1 用户界面用户界面是用户与文件管理系统进行交互的接口,可以通过命令行或者图形界面来实现。
在用户界面中,用户可以输入相关指令来执行对文件的操作,如创建文件、打开文件、读取文件等。
3.2 文件管理模块文件管理模块是文件管理系统的核心模块,负责对文件进行创建、打开、读取、写入、删除等操作。
在文件管理模块中,需要维护一个文件目录表来记录文件的基本信息,如文件名、文件大小、文件权限等。
还需要考虑到文件的分配和回收,可以使用位示图等方式进行实现。
3.3 存储管理模块存储管理模块负责对文件进行存储和管理,包括磁盘空间的分配和回收。
在存储管理模块中,可以采用文件分配表或者索引节点进行存储方式的选择。
4. 详细设计在详细设计阶段,需要对概要设计中的每个模块进行详细设计,并确定各个模块之间的接口和数据结构。
4.1 用户界面设计用户界面设计可以采用命令行方式进行实现。
用户可以通过命令输入来执行相应的文件管理操作。
可以设计一系列命令,如create用于创建文件,open用于打开文件,read用于读取文件等。
文件管理系统的 操作方法

文件管理系统的操作方法文件管理系统是指在计算机上对各种类型文件的存储、管理和使用进行的一系列操作,包括文件的创建、打开、保存、复制、粘贴、删除等等。
这些操作通常由操作系统提供的文件管理器或文件浏览器来实现。
从个人用户的角度来看,文件管理系统可以帮助我们更加快速和高效地管理和利用我们的文件资源。
本文将从以下几个方面来探讨文件管理系统的操作方法:1. 创建文件在电脑上创建文件的基本步骤是:打开Windows资源管理器,选择要保存文件的文件夹,右键单击鼠标,选择"新建",再选择"文本文档"。
然后,文件名出现在右侧窗格中,您可以更改它的名称。
在新文件中编辑所需的信息,右键单击文档,选择“保存”。
另外,一些软件还可以让您在其程序中创建新文件,例如Microsoft Word或记事本++。
2. 打开文件也可以通过Windows资源管理器打开文件。
打开文件的方法是在文件管理器中选择所需的文件,双击打开它即可。
当然,您也可以选择“打开方式”,然后选择使用的应用程序来打开它。
此外,还可以将文件从网络文件服务器或FTP服务器复制到本地计算机,然后再打开文件。
3. 保存文件在编辑文档或其他文件时,必须及时保存更改以确保它们不会丢失。
可以通过按CTRL + S保存文件,也可以右键单击文档,然后选择保存。
一些编辑器,如Microsoft Word或记事本++,会自动保存更改,以免遗漏。
4. 复制和粘贴文件要从一个位置复制文件并将其粘贴到另一个位置,可以选择所需的文件,并使用以下方法复制和/或粘贴:- 选择要复制的文件,按CTRL + C- 在要粘贴文件的位置,右键单击,然后选择"粘贴"- 如果要将文件夹中的文件粘贴到新的位置,请选择要复制的文件夹及其所有内容,右键单击,然后选择“复制”。
然后,转到新位置,右键单击,并选择"粘贴"。
5. 文件夹管理文件夹的创建、打开和删除与文件管理非常类似。
操作系统中的文件管理系统的主要功能

操作系统中的文件管理系统的主要功能1. 引言操作系统是计算机系统中的核心组件之一,负责管理计算机硬件资源,并提供高效而可靠的各种功能。
其中,文件管理系统是操作系统的重要组成部分,它负责管理和组织计算机中的文件和目录。
在现代操作系统中,文件管理系统具有许多重要且核心的功能,本文将介绍并讨论一些主要功能。
2. 文件和目录的创建与删除文件管理系统首要功能之一是文件和目录的创建与删除。
用户可以使用操作系统提供的命令或图形界面来创建新文件或目录,并命名它们。
创建文件时,系统会分配一个唯一的标识符来标识该文件。
同样,用户也可以删除不再需要的文件或目录。
创建和删除文件的过程中,文件管理系统需要确保文件的唯一性和正确性。
它通常会检查文件名是否有效,并管理文件的存储空间以保证文件能够正确地写入到存储设备中。
3. 文件的读取与写入文件管理系统的另一个重要功能是文件的读取和写入。
用户可以通过系统提供的接口从文件中读取数据,或将数据写入到文件中。
读取和写入文件是许多应用程序的基本操作之一。
文件管理系统需要提供有效的读写机制来处理文件的存储和访问。
它会跟踪文件的位置和大小,并负责将数据从存储设备读取到内存中,或将数据从内存写入到存储设备中。
4. 文件的共享与保护文件管理系统还需要支持文件的共享与保护。
多个用户可以共享同一个文件,以便能够共同访问和修改文件。
文件管理系统需要确保在并发访问的情况下,多个用户对文件进行读取和写入的正确性和一致性。
同时,文件管理系统也需要提供保护机制,以保护文件免受未授权的访问和修改。
通过访问权限和安全策略,文件管理系统可以限制特定用户或用户组的访问权限,确保文件的机密性和完整性。
5. 文件的检索与管理文件管理系统还需要支持文件的检索和管理。
用户可以使用特定的搜索条件来查找文件,以快速定位所需的文件。
文件管理系统会根据文件的属性(如名称、大小、类型等)进行索引和排序,从而提高文件的检索效率。
此外,文件管理系统还支持文件的组织和管理。
操作系统实验报告文件管理

操作系统实验报告文件管理文件管理是操作系统的重要功能之一,它负责对计算机系统中的文件进行组织、存储和访问。
文件管理系统的设计和实现对操作系统的性能和可靠性起着重要作用。
本文将介绍文件管理的基本概念、文件系统的组织方式和文件的操作方法。
一、文件管理的概念文件是计算机系统中存储和管理数据的基本单位,它可以是文本、图像、音频、视频等各种类型的数据。
文件管理的目标是实现对文件的有效组织和高效访问,使得用户和应用程序可以方便地读取、写入和删除文件。
文件管理系统主要包括以下几个方面:1.文件组织方式:文件可以按照不同的方式进行组织,包括顺序文件、索引文件、哈希文件等。
不同的组织方式有不同的优势和适用场景,可以根据实际需要选择合适的组织方式。
2.文件存储管理:文件在存储设备上的存储方式包括连续存储、链式存储和索引存储等。
不同的存储方式对文件的读写性能和空间利用率有影响,需要根据实际情况进行选择。
3.文件访问控制:对文件的访问需要进行权限控制,保证只有合法的用户或应用程序可以读取和写入文件。
文件访问控制主要通过访问权限和文件属性来实现。
二、文件系统的组织方式1.单级目录结构:这是最简单的文件系统组织方式,所有文件都位于同一个目录下。
由于没有目录的嵌套结构,文件的查找和管理比较简单,但是对于大量文件的管理不够灵活。
2.层次目录结构:该方式通过目录的嵌套结构来组织文件,可以形成一棵树状结构。
目录可以包含子目录和文件,用户可以通过目录路径来访问文件。
这种组织方式可以更好地组织大量的文件,提高文件的查找效率。
3.索引目录结构:该方式使用一个索引表来记录文件的位置和属性信息,用户通过索引表中的索引来访问文件。
索引表可以根据文件名、文件类型等信息快速定位到文件的位置,提高访问效率。
此外,索引表还可以支持对文件的动态增删改查操作。
三、文件的操作方法1.创建文件:文件的创建是指在文件系统中创建一个新文件,并为其分配存储空间。
创建文件时需要指定文件名和文件类型,并根据需要为文件设置访问权限和属性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉工程大学计算机科学与工程学院综合设计报告设计名称:操作系统综合设计设计题目:虚拟文件系统的设计与实现学生学号:*************专业班级:计算机工程02学生姓名:******学生成绩:指导教师(职称):蔡琼(副教授)完成时间:14年2月17日至14年2 月28日武汉工程大学计算机科学与工程学院制说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个综合设计期间的表现、设计完成情况、报告的质量及答辩等方面,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节。
凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
答辩记录表成绩评定表学生姓名:学号:班级:2011计算机工程2班目录摘要 (II)Abstract (II)第一章课题背景 (1)1.1 课题简介 (1)1.1.1 课题背景 (1)1.1.2 课题目的 (1)1.1.3 要求及内容 (1)1.2 原理与内容 (1)1.2.1 理论依据 (1)1.2.2 课题内容 (1)第二章设计简介及设计方案论述 (2)2.1 设计简介 (2)2.2 设计方案论述 (2)2.3 概要设计 (2)2.3.1 核心类 (4)2.3.2 主要操作函数 (5)第四章设计结果及分析 (6)4.1 文件系统功能 (6)4.2 系统测试 (6)4.3 运行结果分析 (9)总结 (10)致谢 (10)参考文献 (10)附录主要程序代码 (11)摘要操作系统很重要,是计算机学科核心课程。
此次课程设计,旨在加强我们对操作系统文件系统的理解,同时也是对我们编程能力的一次锻炼。
由于学过vc++编程,此次我直接想到做一个仿windows资源管理器,同样可以实现相关要求中的文件操作,而且有友好的界面,更加容易操作。
此次设计,刚好也可以对mfc的应用更加熟悉,对面向对象的思想理解更加深刻。
关键词:操作系统;虚拟文件;vc++AbstractOperating system is very important, is the core courses of computer science. The curriculum design, to strengthen our understanding of the operating system file system, and programming ability for us to exercise at a time.Due to learn vc + + programming, this I do a direct thought of Windows explorer, also can achieve requirements of file operations, and has a friendly interface, easy operation. The design, just also can be more familiar with the application of MFC, understanding the object-oriented thought more profound.Keywords:operating system; Virtual file; vc++第一章课题背景1.1 课程设计简介1.1.1 课程背景操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。
操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。
1.1.2 课程目的操作系统的课程设计可以使学生通过编程实验,更加深入的理解和掌握操作系统的基本理论和功能技术,将相对抽象的理论应用于实践,提高分析问题和解决问题的能力,提高编写和开发系统程序的能力。
1.1.3 要求及意义了解文件的系统模型和文件类型,理解文件的逻辑结构类型及特点,理解文件外存的分配方式,掌握文件的目录及存储空间管理,理解文件的数据结构。
1.1.4 要解决的问题用虚拟文件模拟磁盘空间,并将所生成的文件目录以及文件等内容都是存储在此文件模拟的磁盘中。
1.2 课程设计的原理和内容1.2.1 理论依据文件系统是操作系统的重要组成部分,其中Linux文件具有强大的功能。
文件系统中的文件是数据的集合,文件系统不仅包含这文件重的数据结构而且还有文件系统的结构,用户、文件、目录、软连接及文件保护信息都存储在其中。
1.2.2 课程的内容在Windows或者Linux下设计一个二级(或者树型)结构文件系统,要求至少实现以下功能:login 用户登录、dir 列出文件目录、create 创建文件、del 删除文件、open 打开文件、close 关闭文件、read 读文件、write 写文件、cd 进入子目录、rd 删除子目录、md 创建子目录等第二章设计简介及设计方案论述2.1 设计简介本系统为仿windows资源管理器,可以实现相关文件操作功能2.2 设计方案论述三个操作类,一个登陆对话框,一个主对话框,在主对话框里传入列表控件和树形控件的指针,然后把操作都托管给这三个类2.3 概要设计2.3.1 核心类class C_ZY_list{} 代理列表控件的属性和操作class C_ZY_tree{} 代理树状控件的属性和操作class C_file_op{} 本程序所有的文件操作2.3.2 主要操作函数void C_ZY_list::(CString filepath)void C_ZY_list::BeginProcess(CString path)void C_ZY_list::RClickList(NMHDR *pNMHDR, LRESULT *pResult)void C_ZY_tree::AddSubItem(CString strPath,HTREEITEM item)void C_ZY_tree::DeleteSubItem(HTREEITEM item)CString C_ZY_tree::GetSelectedFilePath()void C_ZY_tree::SelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)主对话框的消息响应函数:afx_msg void OnNMDblclkTree(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnTvnSelchangingTree(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnNMClickTree(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnNMDblclkList(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnBnClickedBack();afx_msg void OnBnClickedFront();afx_msg void OnNMRClickTree(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void OnNMRClickList(NMHDR *pNMHDR, LRESULT *pResult);afx_msg void Oncopy();afx_msg void Oncut();afx_msg void Onpaste();afx_msg void OnOpen();afx_msg void Onproprety();afx_msg void Ondelete();afx_msg void OnBnClickedTernto();第三章详细设计3.1 系统分析做一个基于对话框的mfc应用程序,加上树形控件、列表控件,还可以加上编辑框控件和按钮,还有前进和后退键。
如下图图3-1,主对话框界面当然了,还可以增加一个登录对话框,不过也要增加一个对话框类,用于存贮用户名和密码,此处要用到注册表。
主要设计,就是封装3个类,一个负责列表框的操作,一个负责属性控件的操作,一个负责全部的文件相关操作。
即:C_ZY_list、C_ZY_tree、C_file_op在主对话框类中,增加这三个类的对象作为成员变量,然后在构造函数中传入列表控件、树状控件和主对话框的指针,就可以把相关操作托管给这三个对象了。
3.2 文件基本操作无论是删除、复制、剪切,都可以用SHFileOperation这个函数来表示,它只有一个参数,是结构体SHFILEOPSTRUCT的指针。
这个结构体有一个成员wFunc,它的值为FO_COPY时,SHFileOperation表示复制,FO_MOVE表示剪切,FO_DELETE表示删除有的时候双击文件,需要打开相关进程,这个时候,如果是exe文件,可以调用::CreateProcess,这个函数被封装到void BeginProcess(CString path)里。
如果是诸如.mp3或者.txt文件,则调用ShellExecute函数,它可以用相关文件的默认打开程序把文件打开。
ShellExecute(NULL,L"open",path,NULL,NULL,SW_SHOWNORMAL);path为文件路径。
第四章设计结果及分析4.1 文件系统功能本应用程序为仿windows资源管理器,基本功能有:显示计算机所有文件,打开文件或文件夹,复制剪切文件或文件夹,删除文件或文件夹,显示文件属性,打开指定文件地址,还能前进或者后退。
4.2 系统测试(1)注册或者登录,第一次必须在注册表注册用户名和密码(当然,留有一个备用用户名和密码)图4-1,注册4-2(2)进入资源管理器图4-3 进入系统文件(3)打开文件,双击或者右键菜单打开(此处测试4-3里的a.txt文档)(4)删除文件(右键菜单,删除图4-3的《a.txt》)图4-5和windows一样的提示框图4-6 a.txt 已经没有了(5)右键菜单,属性,可以显示属性对话框(6)右键菜单的样式4.3 运行结果分析运行很正常,基本可以实现资源管理器的简单操作。