合肥工业大学操作统课程设计报告.docVIP

  • 8
  • 0
  • 约2.84千字
  • 约 7页
  • 2016-11-22 发布于贵州
  • 举报
合肥工业大学操作统课程设计报告

一.设计题目 第31题:操作系统接口:兼容Unix/Linux命令接口。 要求: 1)为Windows操作系统建立一个兼容Unix命令的命令接口; 2)实现命令包括ls,cat,cp,mv,md,rd,cd,sort,more,print,命令的内容与详细格式请查阅unix命令手册; 3)设计命令的名称、参数等格式。 4)可以字符形式接收命令,执行命令,然后显示命令执行结果; 二.设计原理及算法描述 UNIX命令: ls [选项] 列出文件信息(默认为当前目录) ls无参 显示一个目录中的文件和子目录 ls -l 每行仅显示一个目录或名称 ls --help 显示此帮助信息并离开 mkdir 目录 若目录不存在则创建目录 mkdir --help 显示此帮助信息并离开 rmdir 目录 若目录没有数据则删除目录 rmdir --help 显示此帮助信息并离开 cp 来源文件 目的文件 将来源文件复制到目的文件 cp --help 显示此帮助信息并离开 cat 文件 或:cat 文件1 文件2 显示文件内容或连接两个文件,并将结果输出到显示屏上 cat 文件 将文件的内容输出到显示屏上 cat 文件1 文件2 将文件1连接到文件2的结尾,并输出到显示屏上 cat --help 显示此帮助信息并离开 more 文件 使文件能逐行(回车键)或逐页(空格键)显示并显示当前文件所占总文件的百分比 more --help 显示此帮助信息并离开 mv 文件1 文件2 或:mv 文件 目录 重命名或移动文件 mv 文件1 文件2 将文件1名字改为文件2的名字 mv 文件 目录 将指定文件移动到指定目录下 mv --help 显示此帮助信息并离开 sort 文件 将文本文件内容加以排序 sort --help 显示此帮助信息并离开 按照每个命令的功能编写一个实现函数。通过c++字符串操作从输入流获得指令以及参数,通过对指令以及参数的判别调用对应指令的函数,实现对windows内文件的各项操作。 三.开发环境 硬件环境: 个人PC机 软件环境: Microsoft Windows XP Microsoft Visual C++ 6.0 四.重要算法和设计思路描述 命令以及参数的获取:由于命令加参数最多能有四部分,所以申请4个字符串数组。并且将首地址都初始化为NULL,在后面的函数中用作判断输入参数的个数。根据输入流中的空格来分割命令和参数以及参数和参数。每检测到一个空格,即将前面的输入字符加上字符串结束符一起存入申请到的字符串数组中。 命令以及参数的判断:strcmp。 参数个数的判断:观察后三个字符串数组首地址是否为NULL。 利用以下一些API函数实现unix命令要求实现的功能,对windows里的文件进行操作。 BOOL WINAPI SetCurrentDirectory( __in LPCTSTR lpPathName);   切换当前进程的当前工作目录。 HANDLE FindFirstFile( LPCTSTR lpFileName, // file name  LPWIN32_FIND_DATA lpFindFileData // data buffer   ); DWORD GetCurrentDirectory(   DWORD nBufferLength, // size of directory buffer   LPTSTR lpBuffer // directory buffer ); 获取当前进程的当前目录BOOL CreateDirectory(LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); 创建一个新目录HANDLE CreateFile(   LPCTSTR lpFileName, //指向文件名的指针   DWORD dwDesiredAccess, //访问模式(写/读)   DWORD dwShareMode, //共享模式   LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全属性的指针   DWORD dwCreationDisposition, //如何创建   DWORD dwFlagsAndAttributes, //文件属性   HANDLE hTemplateFile //用于复

文档评论(0)

1亿VIP精品文档

相关文档