资源简介
文件系统的目录结构采用类似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格式读写及显示
相关资源
- 基于STM32F407ZG的监控摄像头及FATFS文件
- 微型文件系统源码(FatFs)
- 北京化工大学计算方法(C/C++)讲义
- GBT 28169-2011 嵌入式软件 C语言编码规范
- XUnZip Zip解压缩.rar
- Windows_API_函数大全 C/C++
- C语言程序设计教材习题参考答案.do
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- 高效FFT的C/C++代码实现包括基2的DIF和
- c/c++开发网络验证和本地验证
- 操作系统存储管理实验报告c/c++
- C++编写的万年历源码
- C语言进阶源码---基于graphics实现图书
- 井字棋三连棋的AI实现,C/C++
- 可解码所有jpeg格式图片的开源JPEG解码
- 《水果忍者》设计报告.doc
- MFC实现的红绿灯程序
- Win32简易画图程序
- C++网络爬虫项目
- 泡泡堂(炸弹人)小游戏C/C++完整源码
- 使用C/C++读取BITMAP的内容
- VC图像处理-用Canny算子提取边缘
- C/C++视频教程
- 个人总结的一些C/C++编码规范
- 高斯消去法求解线性方程组C/C++程序输
- celrityC/C++源码查看工具
- 网络编程MFC 实验四 FTP客户端功能实现
- C/C++语言大作业、小游戏
- NTFS文件系统下用C++定位文件簇号和目
- 完整的C/C++时序的B+树数据库系统实现
评论
共有 条评论