进行DOS系统调用,删除一个当前目录下的文件
它的说明格式是:int intdos(union REGS *inregs,union REGS *outregs);
该函数的第一个参数是表示相应功能号的入口参数,第二个参数是出口参数,调用后,返回值在outregs的AX寄存器中,并将设置标志寄存器flags,若进位标志器cflag被置位,则表示调用出错,此时AX中为错误代码,若为零,则表示成功.
下面的示例程序是调用该函数进行DOS系统调用,删除一个当前目录下的文件(不需要改变段值):
#include <stdio.h>
#include <dos.h>
int delete_file(char near *filename)
{
union REGS regs;
int ret;
regs.h.ah=0x41;
regs.x.dx=(unsigned)filename;
ret=intdos(®s,®s);
return(regs.x.cflag?ret:0);
}
int main(void)
{
char near *filename;
int err;
printf("Enter filename:");
gets(filename);
err=delete_file(filename);
if(!err)
printf("Able to delete",filename);
else
printf("NOT able to delete,this file not exist\n");
return 0;
}