CC++头文件一览(3)

2019-04-02 22:50

│ unsigned ft_month:4;/*月*/ │ │ unsigned ft_year:1; /*年-1980*/ │

│} │ └─────────────────┘

long lseek(int handle,long offset,int fromwhere) 本函数将文件号为handle的文件 的指针移到fromwhere后的第offset个字节处.

SEEK_SET 文件开关 SEEK_CUR 当前位置 SEEK_END 文件尾 long tell(int handle) 本函数返回文件号为handle的文件指针,以字节表示 int isatty(int handle)本函数用来取设备handle的类型

int lock(int handle,long offset,long length) 对文件共享作封锁

int unlock(int handle,long offset,long length) 打开对文件共享的封锁

int close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、

creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理 成功返回0否则返回-1,可用于UNIX系统

int _close(int handle) 关闭handle所表示的文件处理,handle是从_creat、creat、

creatnew、creattemp、dup、dup2、_open、open中的一个处调用获得的文件处理 成功返回0否则返回-1,只能用于MSDOS系统

FILE *fopen(char *filename,char *type) 打开一个文件filename,打开方式为type, 并返回这个文件指针,type可为以下字符串加上后缀 ┌──┬────┬───────┬────────┐ │type│读写性 │文本/2进制文件│建新/打开旧文件 │ ├──┼────┼───────┼────────┤ │r │读 │文本 │打开旧的文件 │ │w │写 │文本 │建新文件 │ │a │添加 │文本 │有就打开无则建新│ │r+ │读/写 │不限制 │打开 │ │w+ │读/写 │不限制 │建新文件 │ │a+ │读/添加 │不限制 │有就打开无则建新│ └──┴────┴───────┴────────┘

可加的后缀为t、b。加b表示文件以二进制形式进行操作,t没必要使用 例: ┌──────────────────┐ │#include │ │main() │ │{ │ │ FILE *fp; │ │ fp=fopen(\│ └──────────────────┘ FILE *fdopen(int ahndle,char *type)

FILE *freopen(char *filename,char *type,FILE *stream)

int getc(FILE *stream) 从流stream中读一个字符,并返回这个字符 int putc(int ch,FILE *stream)向流stream写入一个字符ch

int getw(FILE *stream) 从流stream读入一个整数,错误返回EOF int putw(int w,FILE *stream)向流stream写入一个整数

int ungetc(char c,FILE *stream) 把字符c退回给流stream,下一次读进的字符将是c int fgetc(FILE *stream) 从流stream处读一个字符,并返回这个字符 int fputc(int ch,FILE *stream) 将字符ch写入流stream中

char *fgets(char *string,int n,FILE *stream) 从流stream中读n个字符存入string中 int fputs(char *string,FILE *stream) 将字符串string写入流stream中

int fread(void *ptr,int size,int nitems,FILE *stream) 从流stream中读入nitems 个长度为size的字符串存入ptr中

int fwrite(void *ptr,int size,int nitems,FILE *stream) 向流stream中写入nitems 个长度为size的字符串,字符串在ptr中

int fscanf(FILE *stream,char *format[,argument,…]) 以格式化形式从流stream中 读入一个字符串

int vfscanf(FILE *stream,char *format,Valist param) 以格式化形式从流stream中 读入一个字符串,参数从Valist param中取得

int fprintf(FILE *stream,char *format[,argument,…]) 以格式化形式将一个字符 串写给指定的流stream

int vfprintf(FILE *stream,char *format,Valist param) 以格式化形式将一个字符 串写给指定的流stream,参数从Valist param中取得

int fseek(FILE *stream,long offset,int fromwhere) 函数把文件指针移到fromwhere 所指位置的向后offset个字节处,fromwhere可以为以下值:

SEEK_SET 文件开关 SEEK_CUR 当前位置 SEEK_END 文件尾

long ftell(FILE *stream) 函数返回定位在stream中的当前文件指针位置,以字节表示 int rewind(FILE *stream) 将当前文件指针stream移到文件开头 int feof(FILE *stream) 检测流stream上的文件指针是否在结束位置 int fileno(FILE *stream) 取流stream上的文件处理,并返回文件处理

int ferror(FILE *stream) 检测流stream上是否有读写错误,如有错误就返回1 void clearerr(FILE *stream) 清除流stream上的读写错误

void setbuf(FILE *stream,char *buf) 给流stream指定一个缓冲区buf void setvbuf(FILE *stream,char *buf,int type,unsigned size)

给流stream指定一个缓冲区buf,大小为size,类型为type,type的值见下表

┌───┬───────────────────────────────┐

│type值│意义 │

├───┼───────────────────────────────┤

│_IOFBF│文件是完全缓冲区,当缓冲区是空时,下一个输入操作将企图填满整个缓│ │ │冲区.在输出时,在把任何数据写到文件之前,将完全填充缓冲区. │ │_IOLBF│文件是行缓冲区.当缓冲区为空时,下一个输入操作将仍然企图填整个缓│ │ │冲区.然而在输出时,每当新行符写到文件,缓冲区就被清洗掉. │ │_IONBF│文件是无缓冲的.buf和size参数是被忽略的.每个输入操作将直接从文 │ │ │件读,每个输出操作将立即把数据写到文件中. │ └───┴───────────────────────────────┘

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; /*每个扇区字节数*/ │ │} │ └──────────────────┘

int bdos(int dosfun,unsigned dosdx,unsigned dosal)本函数对MSDOS系统进行调用, dosdx为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号

int bdosptr(int dosfun,void *argument,unsiigned dosal)本函数对MSDOS系统进行调用, argument为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号 int int86(int intr_num,union REGS *inregs,union REGS *outregs)

执行intr_num号中断,用户定义的寄存器值存于结构inregs中, 执行完后将返回的寄存器值存于结构outregs中.

int int86x(int intr_num,union REGS *inregs,union REGS *outregs,

struct SREGS *segregs)执行intr_num号中断,用户定义的寄存器值存于 结构inregs中和结构segregs中,执行完后将返回的寄存器值存于结构outregs中. int intdos(union REGS *inregs,union REGS *outregs)

本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值 存于结构inregs中,执行完后函数将返回的寄存器值存于结构outregs中 int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs)

本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值

存于结构inregs和segregs中,执行完后函数将返回的寄存器值存于结构outregs中 void intr(int intr_num,struct REGPACK *preg)本函数中一个备用的8086软件中断接口 它能产生一个由参数intr_num指定的8086软件中断.函数在执行软件中断前, 从结构preg复制用户定义的各寄存器值到各个寄存器.软件中断完成后, 函数将当前各个寄存器的值复制到结构preg中.参数如下: intr_num 被执行的中断号

preg为保存用户定义的寄存器值的结构,结构如下

┌──────────────────────┐ │struct REGPACK │ │{ │ │ unsigned r_ax,r_bx,r_cx,r_dx; │ │ unsigned r_bp,r_si,r_di,r_ds,r_es,r_flags; │

│} │ └──────────────────────┘ 函数执行完后,将新的寄存器值存于结构preg中

void keep(int status,int size)以status状态返回MSDOS,但程序仍保留于内存中,所占 用空间由size决定.

void ctrlbrk(int (*fptr)()) 设置中断后的对中断的处理程序. void disable() 禁止发生中断 void enable() 允许发生中断

void geninterrupt(int intr_num)执行由intr_num所指定的软件中断

void interrupt(* getvect(int intr_num))() 返回中断号为intr_num的中断处理程序, 例如: old_int_10h=getvect(0x10);

void setvect(int intr_num,void interrupt(* isr)()) 设置中断号为intr_num的中 断处理程序为isr,例如: setvect(0x10,new_int_10h); void harderr(int (*fptr)()) 定义一个硬件错误处理程序, 每当出现错误时就调用fptr所指的程序 void hardresume(int rescode)硬件错误处理函数 void hardretn(int errcode) 硬件错误处理函数

int inport(int prot) 从指定的输入端口读入一个字,并返回这个字

int inportb(int port)从指定的输入端口读入一个字节,并返回这个字节 void outport(int port,int word) 将字word写入指定的输出端口port void outportb(int port,char byte)将字节byte写入指定的输出端口port

int peek(int segment,unsigned offset) 函数返回segment:offset处的一个字 char peekb(int segment,unsigned offset)函数返回segment:offset处的一个字节 void poke(int segment,int offset,char value) 将字value写到segment:offset处 void pokeb(int segment,int offset,int value) 将字节value写到segment:offset处 int randbrd(struct fcb *fcbptr,int reccnt)

函数利用打开fcbptr所指的FCB读reccnt个记录. int randbwr(struct fcb *fcbptr,int reccnt)


CC++头文件一览(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六五普法考试复习提纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: