虚拟磁盘项目

 

使用c++编写一个console程序,可以模拟dos下文件操作的过程。在windows下,使用"开始"->"运行"->"cmd" 时,会弹出console窗口。在命令行下,输入dir, copy 等命令,可以完成磁盘文件操作功能。此项目就是编制一个程序,模拟这种功能,并且在内存中建立一个真正的内存磁盘,可以任意的创建、删除目录,拷贝、删除文件,列出目录、文件,转移当前所在路径等功能。

 

1使用面向对象的c++。 使用3种或以上设计模式进行编写。

2运行期间或者程序结束时,不得出现异常退出。用户可以自行使用"exit"退出。

3不得有内存泄露

4不能使用stl(字符串或其他数据结构自己实现),实现一个自己的MyString

5使用WIN32 SDK或者C RUNTIME LIB都可

6 用户输入命令的必要容错处理和提示

 

1,程序运行在console窗口

2,初始提示符在C:/ ,不用创建另外的磁盘,不增加其他磁盘符

3,可以使用"mkdir" 创建目录。

目录名称小于256字符。

可以带空格。

目录命名与WINDOWS目录命名规则一致。

大小写不敏感。

目录深度任意。其

他容错处理参考dosmkdir命令。

4,可以使用"cd"命令在不同目录下转移。

其他容错处理参考doscd命令。

5,可以使用"copy"命令把真正硬件磁盘上的任意目录下的文件内容

(把文件按byte拷贝到内存中。不能只记录指针或者文件名)

拷贝到虚拟磁盘任意指定目录中。

命令格式按照dos copy的格式。

不用处理带/可选参数。

只需要用户输入被复制文件路径和复制文件路径。

支持通配符。

其他容错处理参考doscopy命令。

6,可以使用"del"删除任意虚拟磁盘中已经存在的一个文件。

其他容错处理参考dosdel命令。支持通配符。

7,可以使用"rmdir"删除一个目录。

可以带有 /S 命令参数。当有/s 命令时,递归删除目录下所有目录和文件。

其他容错处理参考dosrmdir命令。

8,可以使用"dir"命令。

输出结果需要和dos下的dir一致。

可以使用 dir /ad 命令 。

可以使用dir /s 命令。

其他容错处理参考dosdir命令。

9,使用compare 磁盘文件目录文件 虚拟磁盘文件 比较磁盘上和虚拟磁盘上2个文件的内容。

如果完全一致,输出“内容比较一致”,如果不同,输出不同内容的第一处位置,和不同内容的前16个字节。

二进制文件输出16进制数值。文本文件输出字符串。

 

 

解决方案如下

<disk.h>

 

 

<disk.cpp>

 

<main.cpp>

 

 

代码中有一些功能 读者 可以根据自己的需要更改FindPath()函数 来实现功能转换,写的不好 大家多多见谅

2010-12-16

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值