linux 命令解释器Word文件下载.docx
《linux 命令解释器Word文件下载.docx》由会员分享,可在线阅读,更多相关《linux 命令解释器Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
1.2解决的问题
二、概念原理
2.1基本概念
2.2基本原理
三、总体设计
3.1实现方法
3.2技术路线
四、详细设计
#include<
stdio.h>
stdlib.h>
string.h>
unistd.h>
sys/stat.h>
sys/types.h>
dirent.h>
sys/wait.h>
charZHILING[100];
charparam_list[20][256];
intRead(void)
{
charc;
inti=0;
while(scanf("
%c"
&
c)!
=EOF&
&
c!
='
\n'
&
i<
100)
{
ZHILING[i]=c;
i++;
}
ZHILING[i]=0;
return0;
}
intParse()
unsignedinti=0,j=0,n=0;
intblank_flag=1;
for(i=0;
i<
strlen(ZHILING);
i++)
if(ZHILING[i]=='
'
||ZHILING[i]=='
\t'
)
{
if(blank_flag==0)
{
param_list[n][j]=0;
n++;
j=0;
blank_flag=1;
}
}
else
param_list[n][j]=ZHILING[i];
j++;
blank_flag=0;
if(blank_flag==1)
param_list[n][0]=0;
else
param_list[n][j]=0;
n++;
return1;
intCD()
if(strcmp("
"
param_list[1])==0)
return-1;
if(chdir(param_list[1])==-1)
printf("
error\n"
);
intNEWDIR()
if(mkdir(param_list[1],~0)==-1)
success\n"
intDELDIR()
if(rmdir(param_list[1])==-1)
intCDir()
DIR*dirp;
structdirent*ent;
dirp=opendir("
."
dirp=opendir(param_list[1]);
if(dirp==NULL)
while((ent=readdir(dirp))!
=NULL)
if(ent->
d_name[0]!
.'
printf("
%s\t"
ent->
d_name);
printf("
\n"
closedir(dirp);
intCLEAR()
system("
clear"
return0;
intExcute()
exit"
param_list[0])==0)
elseif(strcmp("
cd"
CD();
return0;
newdir"
NEWDIR();
deldir"
DELDIR();
dir"
CDir();
elseif(strcmp("
myclear"
CLEAR();
else
{printf("
error"
intmain(intargc,char*argv[])
while
(1)
@"
Read();
Parse();
if(Excute()==-1)
break;
五:
完成情况