资源简介
操作系统 课程设计 C++ 模拟文件系统 源代码,写实验报告必备良品,代码无错,直接运行VC
代码片段和文件信息
#include “stdafx.h“
#include “stdafx.h“
#include “stdio.h“
#include “string.h“
#include “iostream.h“
#include “math.h“
#include “stdlib.h“
#include “iomanip.h“
// ******************目录和文件的结构定义******
typedef struct node{
char name[50]; /*目录或文件的名字*/
int type; /*0代表目录,1代表普通文件*/
struct node *next; /*指向下一个兄弟结点的指针*/
struct node *sub; /*指向第一个子结点的指针*/
struct node *father; /*指向父结点的指针*/
int size; /*如果是文件则表示文件的大小*/
}dirNode;
dirNode *workDir; //定义当前工作目录
dirNode root; //定义根目录
char path[100]; //定义路径信息
//初始化函数
void initial()
{
strcpy(root.name“root“);
root.type=0;
root.next=NULL;
root.sub=NULL;
root.father=NULL;
root.size=0;
workDir=&root;
strcpy(path“root“);
}
//初始化新结点函数
dirNode *init()
{
dirNode *p;
p=new dirNode;
strcpy(root.name““);
root.type=0;
root.next=NULL;
root.sub=NULL;
root.father=NULL;
root.size=0;
return p;
}
//改变目录
void CD(char dirName[])
{
dirNode *p;
int flag=0;
p=workDir->sub;
if(p==NULL)
{
cout<<“错误\““< }
else
{
while(p)
{
if(p->type==0)
{
if(!strcmp(p->namedirName))
{
flag=1;
break;
}
}
p=p->next;
}
if(flag==1)
{
workDir=p;
strcat(path“\\ “);
strcat(pathp->name);
cout<<“工作目录已进入\““< }
else
{
cout<<“错误\““< }
}
}
//创建文件
void CREATE(char fileName[]int fileSize)
{
int flag;
dirNode *p*q;
q=new dirNode;
strcpy(q->namefileName);
q->sub=NULL;
q->type=1;
q->next=NULL;
q->father=workDir;
q->size=fileSize;
p=workDir->sub;
if(p==NULL)
{
workDir->sub=q;
cout<<“\““< }
else
{
flag=0;
while(p)
{
if(p->type==1)
{
if(!strcmp(p->namefileName))
{
flag=1;
cout<<“错误\““< }
}
p=p->next;
}
if(flag==0)
{
p=workDir->sub;
while(p->next)
{
p=p->next;
}
p->next=q;
cout<<“\““< }
}
}
//删除文件
void DEL(char fileName[])
{
dirNode *p*q;
int flag=0;
p=workDir->sub;
if(p==NULL)
{
cout<<“错误\““< }
else
{
while(p)
{
if(p->type==1)
{
if(!strcmp(p->namefileName))
{
flag=1;
break;
}
}
p=p->next;
}
if(flag==1)
{
if(p==workDir->sub)
{
workDir->sub=p->next;
}
else
{
q=workDir->sub;
while(q->next!=p)
{
q=q->next;
}
q->next=p->next;
delete p;
}
cout<<“\““< }
else
{
cout<<“错误\““< }
}
}
//显示所有目录
//显示本目录下所有兄弟目录和文件
void dir(dirNode *p)
{
while(p)
{
if(p->type==0)
{
cout.setf(2);
cout<name<“< }
else
{
cout.setf(2);
cout<name< 相关资源
- 国际象棋的qt源代码
- 操作系统c语言模拟文件管理系统844
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言课程设计
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- 操作系统课设 读写者问题 c语言实现
- C++纯文字DOS超小RPG游戏
- c语言电子商务系统
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- ROS操作系统入门讲义
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
川公网安备 51152502000135号
评论
共有 条评论