删除多种属性文件一例

  我用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);
  return;}
(重庆 刘骏洪)