ITEEDU

int fclose(FILE *stream) 关闭一个流,可以是文件或设备(例如LPT1)

int fcloseall() 关闭所有除stdin或stdout外的流

int fflush(FILE *stream)

关闭一个流,并对缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。成功返回0

int fflushall()

关闭所有流,并对流各自的缓冲区作处理处理即对读的流,将流内内容读入缓冲区;对写的流,将缓冲区内内容写入流。成功返回0

int access(char *filename,int amode)

本函数检查文件filename并返回文件的属性, 函数将属性存于amode中,amode由以下位的组合构成

06可以读、写 04可以读 02可以写 01执行(忽略的) 00文件存在

如果filename是一个目录,函数将只确定目录是否存在函数执行成功返回0,否则返回-1

int chmod(char *filename,int permiss) 本函数用于设定文件filename的属性

permiss可以为以下值

S_IWRITE允许写 S_IREAD允许读 S_IREAD|S_IWRITE允许读、写

int _chmod(char *filename,int func[,int attrib]); 

本函数用于读取或设定文件filename的属性,

当func=0时,函数返回文件的属性;当func=1时,函数设定文件的属性

若为设定文件属性,attrib可以为下列常数之一

FA_RDONLY只读 FA_HIDDEN隐藏 FA_SYSTEM系统

七、接口子程序,所在函数库为:dos.h、bios.h

unsigned sleep(unsigned seconds) 暂停seconds微秒(百分之一秒)

int unlink(char *filename) 删除文件filename

unsigned FP_OFF(void far *farptr) 本函数用来取远指针farptr的偏移量

unsigned FP_SEG(void far *farptr) 本函数用来没置远指针farptr的段值

void far *MK_FP(unsigned seg,unsigned off)根据段seg和偏移量off构造一个far指针

unsigned getpsp() 取程序段前缀的段地址,并返回这个地址

char *parsfnm(char *cmdline,struct fcb *fcbptr,int option)

函数分析一个字符串,通常,对一个文件名来说,是由cmdline所指的一个命令行.

文件名是放入一个FCB中作为一个驱动器,文件名和扩展名.FCB是由fcbptr所指定的.

option参数是DOS分析系统调用时,AL文本的值.

int absread(int drive,int nsects,int sectno,void *buffer)

本函数功能为读特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sectno为开始的逻辑扇区号,buffer为保存所读数据的保存空间

int abswrite(int drive,int nsects,int sectno,void *buffer)

本函数功能为写特定的磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sectno为开始的逻辑扇区号,buffer为保存所写数据的所在空间

void getdfree(int drive,struct dfree *dfreep)

本函数用来取磁盘的自由空间,drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中. dfree结构如下:

struct dfree 
{
unsigned df_avail; /*有用簇个数*/ 
unsigned df_total; /*总共簇个数*/ 
unsigned df_bsec; /*每个扇区字节数*/ 
unsigned df_sclus; /*每个簇扇区数*/ 
} 

char far *getdta() 取磁盘转换地址DTA

void setdta(char far *dta) 设置磁盘转换地址DTA

void getfat(int drive,fatinfo *fatblkp) 

本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息并存入结构fatblkp中,结构如下:

struct fatinfo 
{ 
char fi_sclus; /*每个簇扇区数*/ 
char fi_fatid; /*文件分配表字节数*/ 
int fi_nclus; /*簇的数目*/
int fi_bysec; /*每个扇区字节数*/ 
}

void getfatd(struct fatinfo *fatblkp) 本函数返回当前驱动器的文件分配表信息, 并存入结构fatblkp中,结构如下:

struct fatinfo
{ 
char fi_sclus; /*每个簇扇区数*/
char fi_fatid; /*文件分配表字节数*/ 
int fi_nclus; /*簇的数目*/ 
int fi_bysec; /*每个扇区字节数*/ 
}