首页 理论教育 硬盘数据恢复小工具实例

硬盘数据恢复小工具实例

时间:2023-10-23 理论教育 版权反馈
【摘要】:建立国家标准汉字代码表。执行完程序后就可列出当前目录下的所有的文本文件名及其长度。函数返回的整数表示各元素的标志,标志中字节分别代表磁盘、目录、文件名和后缀的有无,字符串中是否有“*”、“?”。

硬盘数据恢复小工具实例

【例1】 建立任意多、任意长度的文本文件。

【例2】 将二进制扇区的数据转换成C语言的数据格式。

【例3】 由命令行输入文件名,对任意长度的文件拷贝

【例4】 建立国家标准汉字代码表

一个标准汉字的机内码占两个字节,高位表示位码,用十六进制数来表示的,最小值是从0xa1开始,最大值为0xfe;低位表示区码,也是用十六进制数来表示的,最小值是从0xb0开始,最大值为0xf7,根据它们的构成规则就可以建立出国家标准汉字代码表。其建立程序如下:

【例5】 选择性的列出当前磁盘文件并对文件进行加密。

【例6】 列出当前磁盘中的所有或选择的文件名及其大小。

本例的主要功能是有选择性的列出所要查找的文件,如果想要在当前目录下找所有的文本文件,只需在设置参数输入:*.txt。执行完程序后就可列出当前目录下的所有的文本文件名及其长度。在程序中用findfirst()函数和findnext()函数来查找所需的文件,其实findfirst()函数和findnext()函数相当于汇编里的4E,4F号功能调用。

【例7】 选择性删除文件(VDEL.C)。

功能:可选择性地删除文件,改进了DOS的DEL命令,被删除的文件名称可使用“*”、“?”字符。程序每当要删除一个文件之前,总是要询问用户是否真要删除,然后程序再根据用户的回答来决定是删除还是放弃。(www.xing528.com)

格式:vdel [filespec]

其中filespec为指定要删除的文件名,其中可含有字符“*”、“?”。

说明:程序首先把命令行参数保存到变量searchstr中,该参数包含了磁盘、目录和文件全名。变量searchstr可以直接传给库函数findfirst和findnext,但是由于这两个句函数返回的匹配文件名称是不包含路径的,所以,有必要把sesrchstr中的路径部分保存下来,以便能够把上述两库函数返回的文件名与其连接起来。把路径部分和文件名部分分开,是由库函数fnsplit来实现的。该函数可把一全路径分解成磁盘、目录、文件名和文件扩展名的成分字符串,该函数定义于″dir.h″中。

intfnsplit(char *path.char *drive.char *dir.char *name.char *ext):

用途是把一个完整的路径字符串拆开成各组成元素,各元素均保留了其跟随的标点符号。例如,磁盘部分保留了冒号结尾,目录部分保留了反斜杠。函数返回的整数表示各元素的标志,标志中字节分别代表磁盘、目录、文件名和后缀的有无,字符串中是否有“*”、“?”。

完成了路径分解之后,调用函数vdel实现交互式删除。

实现删除的是函数delaction,该函数提示用户,等待回答,根据回答分别执行删除、跳过或终止等功能。

例如:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈