资源简介
操作系统课程设计 刚刚学的时候写的 很好
简单的文件管理系统 模拟
代码片段和文件信息
#include “stdio.h“
#include “stdlib.h“
#include “string.h“
#include “ctype.h“
#define FILENAME_LEN 12
#define NULL 0
/*-----------------------------==================---------------------------------*/
/*-----------------------------定 义 数 据 结 构---------------------------------*/
/*-----------------------------==================---------------------------------*/
struct FileNode
{
char filename[FILENAME_LEN]; //文件名或目录名
char i_type[6]; //目录文件识别标志
int i_nlink; //文件的链接数
struct FileNode *parent*child; //指向父亲的指针和指向左孩子的指针
struct FileNode *sibling_prev*sibling_next;//指向前一个兄弟的指针和指向后一个兄弟的指针
}*head*fph;
/*-----------------------------定 义 全 局 变 量---------------------------------*/
/*-----------------------------==================---------------------------------*/
char command[10]direct[100]; //commamd[]命令函数direct[]目录或文件名
char nowdir[50][100]; //当前所在目录
int flag=1; //标志向量
/*-----------------------------==================---------------------------------*/
/*-----------------------------创 建 新 的 结 点---------------------------------*/
/*-----------------------------==================---------------------------------*/
struct FileNode * CreateFileNode(char command[]char direct[]FileNode *newd) //创建结点
{
if(strcmp(command“md“)==0 || strcmp(command“MD“)==0) //当创建目录时,isdir[]=dir
strcpy(newd->i_type““);
if(strcmp(command“edit“)==0 || strcmp(command“EDIT“)==0) //当创建文件时 isdi[]=file
strcpy(newd->i_type““);
strcpy(newd->filenamedirect);
newd->i_nlink=0;
newd->child=NULL;
newd->sibling_next=NULL;
return (newd);
}
/*-----------------------------==================---------------------------------*/
/*-----------------------------操作名和路径名分解---------------------------------*/
/*-----------------------------==================---------------------------------*/
void ParseCommand(char nowcom[]) //接受输入的命令并将其分解成操作名和路径文件名
{
int i=0m=0k=0;
while(isspace(nowcom[i])&&nowcom[i]!=‘\0‘) //检查是否是空格、跳格符并记下空格的位置
i++;
while(nowcom[i]!=‘ ‘&&(nowcom[i])!=‘\0‘&&(nowcom[i])!=(char)92)
{
command[m]=nowcom[i];
i++;
m++;
}
command[m]=‘\0‘; //操作命令
while(nowcom[i]!=‘\0‘)
{
direct[k]=nowcom[i];
i++;
k++;
}
direct[k]=‘\0‘; //文件或目录名称
}
/*-----------------------------==================---------------------------------*/
/*-----------------------------获 取 当 前 路 径---------------------------------*/
/*-----------------------------==================---------------------------------*/
void GetDir(FileNode *q)
{
if(q->parent!=NULL)
GetDir(q->parent);
if(strcmp(q->filename“root“)==0)
printf(“%s:“q->filename);
else
{
printf(“%s\\“q->filename);
}
}
/*-----------------------------==================---------------------------------*/
/*----------------------------
- 上一篇:表达式求值C语言实现《数据结构》课程设计报告
- 下一篇:多目标车辆路径优化源代码
相关资源
- 操作系统课设 读写者问题 c语言实现
- ROS操作系统入门讲义
- Linux操作系统下C语言编程从零开始
- 操作系统存储管理实验报告c/c++
- 操作系统课程设计(银行家算法)附
- 现代操作系统第三版高清
- C++操作系统课设-进程管理
- 哲学家进餐问题的c++模拟实现
- 操作系统课程设计(生产者-消费者存
- 操作系统——5个实验.zip
- 操作系统进程管理实验
- 操作系统—页面置换算法C++实现
- 操作系统 内存管理 模拟 图形界面
- 银行家算法 mfc 含源代码 界面 操作系
- 操作系统生产者消费者问题MFC动态实
- 操作系统课程设计:Windows 命令接口之
- 操作系统课程大作业-文件管理系统
- C语言实现最低松弛度优先算法源代码
- 操作系统信号量PV经典问题:沉睡的理
- 基于C++的银行家算法模拟实现
- 生产者消费者问题源码-MFC实现-进程模
- 操作系统实验 进程调度 高响应比优先
- 操作系统文件管理C++代码实现
- 嗜睡的理发师进程同步与实现c++
- 安徽大学操作系统实验八基于扫描的
- 安徽大学操作系统实验四主存空间的
- 操作系统——银行家算法
- 操作系统_生产者消费者c++、mfc实现
- 磁盘调度c++模拟实现计算机操作系统
- 操作系统课设源代码 模拟进程的并
评论
共有 条评论