• 大小: 10.46MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: C/C++
  • 标签:

资源简介

设计和实现了一个模拟Linux文件系统,采用树的结构设计,可登录注册,是多用户文件系统,互不干扰。实验实现的功能有目录的创建,删除,复制,粘贴,重命名,列表显示,以及文件的创建,删除,复制,粘贴,重命名,读写等功能。并对用户使用该文件系统需要简单注册登录,具有指导用户操作功能。压缩包内含有这个系统的说明书,PPT,以及流程图的VSDX文件和JPEG文件,可以直接用于大型实验

资源截图

代码片段和文件信息

#include “head.h“

FileSystem::FileSystem(myDirectory* root string curPath string userName){
FileSystem::root = root;
FileSystem::currentDir = FileSystem::root;
FileSystem::curPath = curPath; 
FileSystem::copyTempFile = NULL;
FileSystem::copyTempDir = NULL; 
FileSystem::userName = userName;
}

int FileSystem::newDirectory(string dirName){
int res = 0;
if(whetherContainsIllegalCharacters(dirName)){
myDirectory* currentDir = getCurrentDirectory(); 
myDirectory* newDir = new myDirectory();
newDir->type = 1; 
newDir->directoryName = dirName;
newDir->directorySize = 0;
newDir->parentDir = currentDir; 
newDir->nextDir = NULL;
newDir->preDir = NULL;
newDir->filePtr = NULL;
newDir->dirPtr = NULL;
strcpy(newDir->lastTimegetTime());
if(currentDir->dirPtr == NULL)
currentDir->dirPtr = newDir;
else{
myDirectory* tmp = currentDir->dirPtr;
if(findDirByName(dirName tmp)){
while(tmp->nextDir != NULL){ 
tmp = tmp->nextDir;
}
tmp->nextDir = newDir;
newDir->preDir = tmp;
}else res = 1;
}
}else res = 2;
return res;
}

char *FileSystem::getTime(){
time_t t = time(0);
char tmp[64];
strftime( tmp sizeof(tmp) “%Y/%m/%d %X“localtime(&t));
return tmp;


bool FileSystem::findDirByName(string dirName myDirectory* dir){
bool flag = true;
myDirectory* tmp = dir;
while(tmp != NULL){
if(tmp->directoryName == dirName){
flag = false;
break;
}
tmp = tmp->nextDir;
}
return flag;
}

bool FileSystem::findFileByName(string fileName myFile* file){
bool flag = false;
myFile* tmp = file;
while(tmp != NULL){
if(tmp->fireName == fileName){
flag = true;
break;
}
tmp = tmp->nextFile;
}
return flag;


void FileSystem::setCurrentDirectory(myDirectory* dir){
FileSystem::currentDir = dir;


myDirectory* FileSystem::getCurrentDirectory(){
return FileSystem::currentDir;
}

string FileSystem::getCurPath(){
return FileSystem::curPath;
}

void FileSystem::setCurPath(string s){
FileSystem::curPath = s;
}

void FileSystem::setTempFile(myFile* file){
FileSystem::copyTempFile = file; 


myFile* FileSystem::getTempFile(){
return FileSystem::copyTempFile;
}

void FileSystem::setTempDir(myDirectory* dire){
FileSystem::copyTempDir = dire;
}
 
myDirectory* FileSystem::getTempDir(){
return FileSystem::copyTempDir;
}

string FileSystem::getUserName(){
return FileSystem::userName;


int FileSystem::showCurrentDirectory(){
int res = 0;
myDirectory* currentDir = getCurrentDirectory();
myDirectory* tmp = currentDir->dirPtr;
myFile* tmp2 = currentDir->filePtr;
if(tmp != NULL || tmp2 != NULL){
if(tmp != NULL){
while(tmp != NULL){
cout << tmp->directoryName;
cout << “     dir“;
cout << “     “ << tmp->directorySize;
cout << “     “ << tmp->lastTime << endl;
tmp = tmp->nextDir; 
}

if(tmp2 != NULL){
while(tmp2 != NUL

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15053  2016-01-07 19:32  cxFileSystem\cxFileSystem.cfp

     文件        378  2016-01-07 19:32  cxFileSystem\cxFileSystem.cfpg

     文件      16731  2016-01-07 19:32  cxFileSystem\FileSystem.cpp

     文件       2954  2015-12-29 22:11  cxFileSystem\FileSystem.h

     文件       1068  2015-12-26 20:03  cxFileSystem\function.h

     文件        315  2015-12-26 22:15  cxFileSystem\head.h

     文件      19233  2015-12-30 19:13  cxFileSystem\kernel.cpp

     文件         95  2015-12-19 10:24  cxFileSystem\main.cpp

     文件    1682057  2016-01-07 12:30  cxFileSystem\mingw5\cxFileSystem.exe

     文件        164  2015-12-28 15:27  cxFileSystem\mingw5\cxsw.txt

     文件    1046636  2015-12-29 22:39  cxFileSystem\mingw5\FileSystem.o

     文件    1084824  2016-01-07 12:30  cxFileSystem\mingw5\kernel.o

     文件     846575  2015-12-29 22:20  cxFileSystem\mingw5\main.o

     文件     847346  2015-12-29 22:20  cxFileSystem\mingw5\User.o

     文件         47  2016-01-07 12:32  cxFileSystem\mingw5\user.txt

     文件       1039  2015-12-26 23:36  cxFileSystem\mydefineClass.h

     文件        297  2015-12-21 16:01  cxFileSystem\User.cpp

     文件        325  2015-12-21 10:36  cxFileSystem\User.h

    ..A.SH.       113  2015-12-17 17:45  cxFileSystem\~

     文件    2206994  2016-01-17 16:10  大型实验报告书.doc

     文件   10681856  2016-01-17 16:11  大型实验报告.ppt

     文件      90724  2015-12-29 10:01  文件创建.jpg

     文件      63165  2015-12-29 10:37  文件读取.jpg

     文件      59522  2015-12-29 15:56  文件复制.jpg

     文件      99863  2015-12-28 16:57  文件结构.jpg

     文件      54420  2015-12-29 10:08  文件删除.jpg

     文件      73486  2015-12-29 10:39  文件写入.jpg

     文件      82517  2015-12-29 10:29  文件粘贴.jpg

     文件      68702  2015-12-29 10:13  文件重命名.jpg

     文件     193488  2015-12-28 16:33  系统流程.jpg

............此处省略24个文件信息

评论

共有 条评论