资源简介
操作系统.zip

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int M=256;
const int N=10;
char cmd[M]; //输入的命令
char word[N][M]; //解析好的命令
int Read_cmd(); //读取命令
int Memory_cmd(); //解析命令
int do_cmd(); //执行命令
int do_pwd(); //显示当前路径
int do_list(); //列出目录及文件
int do_cd(); //改变当前文件夹路径
int do_mkdir(); //新建目录
int do_rmdir(); //删除目录
int do_copy(); //复制文件
int do_rename();//重命名文件
int exit(); //退出系统
int Read_cmd(){ //读取命令
char ch[M];
int i = 0;
cin.getline(ch M);
strcpy(cmd ch); //复制字符串
return 0;
}
int Memory_cmd(){ //解析命令
int i j = 0 k = 0;
int flag = 1; //前面有无分割符,1表示有分割符, 0表示无分割符
int len = strlen(cmd); //获取cmd的长度
for(i=0; i if(cmd[i] == ‘ ‘ || cmd[i] == ‘\t‘){ //有分割符
if(flag == 0){
word[k][j] = 0; //字符串结束
k++;
j = 0;
flag = 1;
}
}else{
word[k][j] = cmd[i]; //将字符存储
j++;
flag = 0;
}
}
if(flag == 1){
word[k][0] = 0; //标志read_cmd结束
}else{
word[k][j] = 0;
k++;
word[k][0] = 0;
}
return 1;
}
int do_cmd(){ //执行命令
if(strcmp(“pwd“word[0]) == 0){ //显示当前所在目录的路径
do_pwd();
return 0;
}else if(strcmp(“list“word[0]) == 0){ //显示当前目录的所有文件
do_list();
return 0;
}else if(strcmp(“cd“word[0]) == 0){ //改变当前目录路径
do_cd();
return 0;
}else if(strcmp(“mkdir“word[0]) == 0){ //新建目录
do_mkdir();
return 0;
}else if(strcmp(“rmdir“word[0]) == 0){ //删除目录
do_rmdir();
return 0;
}else if(strcmp(“copy“word[0]) == 0){ //复制文件
do_copy();
return 0;
}else if(strcmp(“rename“word[0]) == 0){ //重命名
do_rename();
return 0;
}else if(strcmp(“exit“word[0]) == 0){ //退出系统
exit(0);
return 0;
}
}
int do_list(){ //列出目录及文件
DIR* dirp;
int count=0;
struct dirent* ent;
if(strcmp(““ word[1]) == 0){ //命令不带参数
dirp = opendir(“.“); //打开当前目录
}else{
dirp = opendir(word[1]); //打开有参数的目录
}
if(dirp == NULL){
cout<<“打开目录失败!“< return -1;
}
while((ent=readdir(dirp)) != NULL){
if(ent->d_name[0] != ‘.‘){
cout<d_name<<“ “;
count++;
}
if(count%8==0)
cout< }
cout< closedir(dirp); //关闭目录
return 0;
}
int do_cd(){ //改变当前文件夹
if((strcmp(““ word[1])) == 0){ //不带参数,改变失败
return -1;
}
if(chdir(word[1]) == -1){ //目录不存在
cout<<“目录不存在!“< return -1;
}
if(strcmp(“..“word[1]) != 0){
cout<<“ 改变目录 “< cout<<“ 路径: “;
do_pwd(); //显示当前路径
}else{
cout<<“ 返回上一层目录“< cout<<“ 路径: “;
do_pwd(); //显示当前路径
}
return 0;
}
int do_rename()
{
//重命名文件
if(rename(word[1] word[2]) == 0)
{
cout< }
else
cout<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-12 22:48 操作系统\
文件 6437 2018-12-27 13:37 操作系统\os.cpp
文件 14848 2019-01-12 22:48 操作系统\《操作系统课程设计》题目.doc
相关资源
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
- 联想启天M4350 BIOS升级文件
评论
共有 条评论