资源简介
文件系统的目录结构采用类似Linux的树状结构;
a) 目录的添加、删除、重命名;
b) 目录的显示(列表)
c) 文件的添加、删除、重命名
d) 文件和目录的拷贝
用户进入时显示可用命令列表;用户输入help时显示所有命令的帮助文档;用户输入exit时退出该系统,开发语言选用C/C++
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include“FileSystem.h“
using namespace std;
FileSystem::FileSystem()
{
ifstream in_stream;
int i;
in_stream.open(“file.txt“);
Node df;
if(in_stream.fail())
{
cout<<“Input file opening failed.\n“;
exit(1);
}
else{
for(i=0;i {
in_stream>>df.flag>>df.name>>df.owner>>df.CreateTime>>df.Last_Visit
>>df.Last_Modify>>df.visitProperty>>df.parent>>df.left>>df.right>>df.path;
node[i]=df;
}
}
in_stream.close();
curdir=0;
fd=0;
in_stream.open(“user.txt“);
if(in_stream.fail())
{
cout<<“Input file opening failed\n“;
exit(1);
}
else{
User ur;
in_stream>>Amount;
for(i=0;i {
ur.num=i;
in_stream>>ur.username>>ur.password;
user.push_back(ur);
}
}
in_stream.close();
}
FileSystem::~FileSystem()
{
ofstream out_stream;
int i;
out_stream.open(“file.txt“);
if(out_stream.fail())
{
cout<<“Output file opening failed.\n“;
exit(1);
}
else{
Node df;
for(i=0;i {
df=node[i];
out_stream< < <<“ “< <<“ “< }
}
out_stream.close();
out_stream.open(“user.txt“);
if(out_stream.fail())
{
cout<<“Output file opening failed.\n“;
exit(1);
}
else{
User ur;
list::iterator iter;
out_stream< iter=user.begin();
while(iter != user.end())
{
ur=*iter;
out_stream< iter++;
}
}
out_stream.close();
}
bool FileSystem::Finddir(int tchar *samename)//从下标t开始根据目录名查找目录,找到了返回true并把下标值赋给fd,否则返回false
{
fd=-1;
if(strcmp(node[t].namesamename)==0 && (node[t].flag==1 || node[t].flag==0))
{
fd=t;
return true;
}
if(node[t].left==-1)
{
return false;
}
dirout(tsamename);
if(fd==-1)
{
return false;
}
else
{
if(strcmp(node[fd].namesamename)==0 && (node[fd].flag==1 || node[fd].flag==0))
{
return true;
}
else
{
return false;
}
}
}
void FileSystem::dirout(int tchar *samename)
{
if(t==-1)
{
return;
}
else
{
if(strcmp(node[t].namesamename)==0 && node[t].flag==1)
{
fd=t;
return;
}
dirout(node[t].rightsamename);
dirout(node[t].leftsamename);
}
return;
}
void FileSystem::OS_createdir(char *line)//在当前目录中创建目录
{
int ip;
while(!direxist(curdirline))
{
cout<<“该目录名已经存在\n“< cin>>line;
}
p=point(curdir);
if(node[curdir].left==-1)
{
node[curdir].left=2*curdir+1;
i=node[curdir].left;
}
else{
node[p].right=2*p+2;
i=node[p].right;
}
node[i].
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 289280 2011-01-04 20:15 文件系统\文件系统实验文档.doc
文件 606303 2011-01-01 11:56 文件系统\文件系统程序\Debug\FileSystem.exe
文件 860416 2011-01-01 11:56 文件系统\文件系统程序\Debug\FileSystem.ilk
文件 495892 2011-01-04 18:18 文件系统\文件系统程序\Debug\FileSystem.obj
文件 2456816 2011-01-01 11:56 文件系统\文件系统程序\Debug\FileSystem.pch
文件 1180672 2011-01-01 11:56 文件系统\文件系统程序\Debug\FileSystem.pdb
文件 634969 2011-01-04 20:08 文件系统\文件系统程序\Debug\main.exe
文件 877848 2011-01-04 20:08 文件系统\文件系统程序\Debug\main.ilk
文件 36403 2011-01-04 20:08 文件系统\文件系统程序\Debug\main.obj
文件 2628864 2011-01-04 18:18 文件系统\文件系统程序\Debug\main.pch
文件 1213440 2011-01-04 18:19 文件系统\文件系统程序\Debug\main.pdb
文件 99328 2011-01-04 20:12 文件系统\文件系统程序\Debug\vc60.idb
文件 167936 2011-01-04 18:18 文件系统\文件系统程序\Debug\vc60.pdb
文件 34167 2011-01-04 20:12 文件系统\文件系统程序\file.txt
文件 26691 2011-01-04 18:18 文件系统\文件系统程序\FileSystem.cpp
文件 3575 2011-01-01 12:00 文件系统\文件系统程序\FileSystem.dsp
文件 528 2011-01-01 12:00 文件系统\文件系统程序\FileSystem.dsw
文件 1828 2011-01-04 18:18 文件系统\文件系统程序\FileSystem.h
文件 41984 2011-01-01 12:00 文件系统\文件系统程序\FileSystem.ncb
文件 48640 2011-01-01 12:00 文件系统\文件系统程序\FileSystem.opt
文件 786 2011-01-01 11:56 文件系统\文件系统程序\FileSystem.plg
文件 391 2011-01-03 19:49 文件系统\文件系统程序\main.cpp
文件 3509 2011-01-04 20:18 文件系统\文件系统程序\main.dsp
文件 516 2011-01-04 20:18 文件系统\文件系统程序\main.dsw
文件 58368 2011-01-04 20:18 文件系统\文件系统程序\main.ncb
文件 48640 2011-01-04 20:18 文件系统\文件系统程序\main.opt
文件 242 2011-01-04 20:08 文件系统\文件系统程序\main.plg
文件 77 2011-01-04 20:12 文件系统\文件系统程序\user.txt
目录 0 2011-01-04 18:19 文件系统\文件系统程序\Debug
目录 0 2011-01-04 20:18 文件系统\文件系统程序
............此处省略4个文件信息
- 上一篇:C++ 图像压缩算法
- 下一篇:机载激光雷达 Las格式读写及显示
相关资源
- 人事管理系统(MFCC++实现)
- C/C++深层探索 PDF清晰版
- Borland C++ 5.5 编译器
- uml状态图的实用C/C++设计 中英文非扫
- 哈夫曼编码压缩文件,c/c++课程设计
- 谭浩强C语言程序设计第三版中文版
- C/C++使用ODBC操作SQL server数据库
- C/C++使用ODBC连接SQL server数据库完整流
- C++基于UDP的控制台局域网聊天程序
- netcdf 4.4.1 c/c++类库windows64位绿色版
- 西北工业大学C/C++程序设计大作业包含
- 《C/C++中国象棋程序入门与提高》源代
- C/C++:Windows编程—调用DLL程序的2种方
- 基于tcp 的windows发送文件系统mfc界面
- C/C++帮助文档2019版4月出品的超级详细
- 最全 C/C++ API文档
- C++Primer中文版(第4版)
- 猫脸变换算法(Arnold)的简单实现C
- c++课程设计模拟计算器含源代码、文
- C/C++标准库源代码
- RFIDC/C++门禁系统 RFID源码
- C/C++数据结构_随机10000个数:排序~8大
- 特征码搜索基址 c/c++源代码
- LeetCode题解 C/C++版
- C++模拟磁盘文件系统
- 课程设计源码.zip
- C/C++参考手册大全5本集合.chm
- 猜词游戏 C/C++程序设计
- eclipse c/c++ 自动补全,auto activation,自
- 2013-2014华南理工大学操作系统课程设
评论
共有 条评论