资源简介
设计和实现了一个模拟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个文件信息
- 上一篇:c++指纹识别系统
- 下一篇:教务管理系统源代码含报告C语言
评论
共有 条评论