我用Turbo
C 2.0编写了一个可以删除任何属性文件的程序。这个程序的思路是:首先找到需删除文件的地址,(即段地址和偏移地址),接着把文件属性修改为A,最后进行删除,这就像DOS中先用Attrib
命令修改文件属性后,再用DEL命令进行删除。源程序如下:
#include ″stdio.h″
#include ″process.h″
#include ″dos.h″
main()
{
char filename[12];
printf(″Please input filename″);
gets(filename);/*输入要删除的文件名*/
change (filename);
delete(filename);
}
change(char near *file)/*改变文件属性函数*/
{
union REGS inregs,outregs;
struct SREGS segregs;
inregs.h.ah=Ox43;/*功能号AH=Ox43*/
inregsh.al=1;/*入口参数AL=1*/
inregs.h.cl=FA_ARCH;/*把文件属性修改为A*/
segregs.ds=FP_SEG(file);/*描述偏移地址*/
inregs.x.dx=FP_OFF(file);/*描述表段地址*/
int86x(Ox21,&inregs,&outregs,&segregs);/*INT 21H系统功能调用*/
return;
}
delete(char near*file)
{
union REGS inregs,outregs;
struct SREGS segregs;
inregs.h.ah=Ox41;/*功能号AH=Ox43*/
inregs.x.dx=FP_OFF(file);
segregs.ds=FP_SEG(file);
int86x(Ox21,&inregs,&outsegs,&segregs);
return;}
(重庆 刘骏洪)
本文出自:《电脑报》1999年03月22日第11期
|