删除多种属性文件一例 刘骏洪 1999年 第11期 13版 我用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;}