2022年c语言模拟shell命令行解释程序 .pdf





《2022年c语言模拟shell命令行解释程序 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言模拟shell命令行解释程序 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京联合大学操作系统课程设计实验一:命令行解释程序学院:信息学院专业:计算机科学与技术课程:操作系统班级: 1 1 0 3 B 姓名:傅 笔 贵学号: 2009080305302 2014 年7 月10 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 一. 采用的数据结构说明字符数组:本程序中包含的字符数组有:filename120:在 Ccopy() 函数中 , 存储源文件路径和名字的字符数组。filename220:在 C
2、copy() 函数中 , 存储目标文件路径和名字的字符数组。oldname20: 在 Cmv()函数中用来保存源文件路径和名字的字符数组。newname20:在 Cmv()函数中用来保存目标文件路径和名字的字符数组。Cho26: 存取用户输入的指令 , 并用来作为 Switch 分支的判定条件之一。File20:Cerase()函数中用来存放要删除的文件的路径和名字的字符数组。Word100: 在 Cdis() 中存放用户要回显的字符串。二. 源程序清单、注释和流程图(1) 流程图Case ?调用Cmd里的dir查看目录删除一个带绝对路径的指定文件回显输入的字符串传入两个参数来复制文件退出程序
3、12345输入一个绝对路径和文件名输入两个路径不带空格的字符串执行完毕程序结束清屏6显示计算机详细信息8移动或者重名名文件7输入带路径的两文件名,路径相同为重命名程序开始输入指令Cdir?Ccopy?Cerase ?Cdis?Cend ?Cclr?Cmv?Cuname ?否否否否否否否Num=1Num=2Num=3Num=4Num=5Num=6Num=7Num=8是是是是是是是是Cho2=Num否名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - -
4、- - - - (2)源程序和注释#include #include #include #include #include #include #include int flag=1; char ch8;/存储文件读取内容的中间变量FILE *fp; FILE *fp1; char filename120;/*复制文件候存放的原文件名*/ char filename220;/*复制文件候存放的目标文件名*/ char oldname20;/*用来存放移动文件的源文件名*/ char newname20;/*用来存放移动文件的目标文件名*/ void start_copy(char *filena
5、me1,char *filename2) /* 文件复制函数 , 可以实现文本和图片的复制*/ if(fp=fopen(filename1,rb)=NULL|(fp1=fopen(filename2,wb)=NULL) /* 源文件或目标文件打开失败则无法进行复制*/ printf(cant open the source file!n); exit(0); else fread(ch,1,8,fp);/一次读取八个字节的字节流, 存放到 ch 字符数组里 while (!feof(fp)/没读取到文件尾部时 , 持续读取 fwrite(ch,1,8,fp1);/写到目标文件里fread(ch
6、,1,8,fp);/继续读取 fclose(fp);/关闭指针,释放内存 fclose(fp1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - void Cend() flag=0;/将循环条件 flag=1变为 0 来结束循环,结束程序 void Cdir() /* 目录显示函数 , 除了调用 Cmd 没有更好的解决办法 , 是本程序的遗憾 .*/ system(cmd.exe /b dir); void Ccopy()/
7、文件复制主函数 scanf(%s%s,&filename1,&filename2);/获取源文件和目标文件名start_copy(filename1,filename2);/传参到复制函数 void Cerase()/删除文件函数 char File20;/文件名存储scanf(%s,&File);/获得文件名if(remove(File)=0)/删除成功 remove返回 0 printf(Remove %s Successfully!n,File); else perror(Failed!); void Cdis() char Word100;/存放用户输入的字符串getchar();/吸
8、取第一个不必要的空格字符gets(Word);/获得用户的字符串内容printf(-E-C-H-O-n); puts(Word);/显示用户的字符串内容 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - void Cmv()/移动或重命名文件函数 scanf(%s%s,&oldname,&newname);/ 用来获取用户输入的两个文件名rename(oldname,newname); int main() / 定义判定字符 ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c语言模拟shell命令行解释程序 2022 语言 模拟 shell 命令行 解释程序

限制150内