资源简介
操作系统.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
相关资源
- 基于多元散射校正和偏最小二乘_MSC
- 医院信息科考试试题4答案不全.doc
- StockControl.exe
- ISE14.7迅雷高速地址.txt
- login(1).rar
- 方式.7z
- Test.sxd
- 92_111164_e2c716bccddc0a1.rar
- OpenVPN教程-绝对实用.pdf
- DJ.rar
- 51CTO-zigbee开发套件DTD243A_Demo用户手册
- 关于“拍照赚钱”的任务定价.pdf
- ucos2串行通信.doc
- usb3nvme.txt
- ArcGIS_10.torrent
- NewCopy解码软件V1.0.0.1.17083001.exe
- 银灿IS917U盘PCB电路原理图+PCB图-其它其
- boost.7z
- win10秘钥.txt
- itrip爱旅行全套项目资源.rar
- zw_qq_36465931-10116357-fore.zip
- zw_fqbfirey-9995638-PQandNR潮流计算.zip
- zw_jueqingnikong-10336909-PSOeconomic-dispatch
- zw_qq_37018883-10038672-twoweiyusnfenbushizlfp
-
Unti
tled.zip - 佳能万能版清零操作手册.doc
- 腾讯视频-视频批量解析.exe
- 项目管理概论第1-12章答案.docx
- PTHC全系列密碼.txt
评论
共有 条评论