ANSIC标准函数库(中文)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

标准库ANSIC包含了15个头文件Assert.hFloat.hMath.hStdarg.hStdlib.hCtype.hLimits.hSetjmp.hStddef.hString.hErrno.hLocale.hSignal.hStdio.hTime.h标准库本身并不是C语言的构成部分,它是为开发C程序而制定的一种开发环境。absread()读磁盘绝对扇区函数原形:intabsread(intdrive,intnum,intsectnum,void*buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。参数:drive=0对应A盘,drive=1对应B盘。返回值:0:成功;-1:失败。头文件:dos.habswrite()写磁盘绝对扇区函数原形:intabswrite(intdrive,intnsects,intlsect,void*buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。返回值:0:成功;-1:失败。头文件:dos.hatof()将字符串转换成浮点数的函数原形:doubleatof(constchar*s)功能:把s所指向的字符串转换成double类型。s格式为:符号数字.数字E符号数字返回值:字符串的转换值。头文件:math.h、stdlib.hatoi()将字符串转换成整型数的函数原形:intatoi(constchar*s)功能:把s所指向的字符串转换成int类型。s格式为:符号数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.hatol()将字符串转换成长整型数的函数原形:longatol(constchar*s)功能:把s所指向的字符串转换成longint类型。s格式为:符号数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.hbcd()把一个数转换成对应的BCD码的函数原形:bcdbcd(intx)bcdbcd(doublex)bcdbcd(doublex,intdecimals)注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。头文件:bcd.hbdos()原形∶intbdos(intfnum,unsigneddx,unsignedal)其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给寄存器AL的值;功能∶DOS系统调用(INT21H)返回值∶AX中的值biosdisk()调用BIOS磁盘驱动程序函数原形:charbiosdisk(intcmd,intdrive,inthead,inttrack,intsector,intnsects,void*buffer)功能:使用中断0x13,直接调用BIOS进行磁盘操作参数:(1)cmd:2-数据以每扇区512字节的格式读入buffer,起始扇区由head、track和sector定,扇区数由nsects定。3-将buffer中的数据按每扇区512字节写入磁盘。4-对扇区进行数据校验。6-格式化一个磁盘并对化扇区设置化标志。8-返回当前驱动器参数在buffer的前4个字节中。10-长读,每扇区读入512字节加上额外的4个字节。11-长写,每扇区写入512字节加上额外的4个字节。(2)drive:0-第一个软驱;1-第二个软驱;0x80-第一个硬驱(3)head:磁头(4)track:磁道(5)sector:扇区(6)nsects:扇区数(7)buffer:数据缓冲区,定义为unsignedcharbuffer[];返回值:0x00-操作成功0x01-错误命令0x03-企图写具有写保护的磁盘0x07-驱动器参数设置错误0x10-磁盘读/CRC/ECC错误头文件:bios.h注:对于硬盘主引导记录扇区head=0,track=0,sector=1biosprint()调用BIOS打印机I/O接口的函数原形:intbiosprint(intcmd,intabyte,intport)功能:通过BIOS中断0x17在由参数port指定的打印机上完成各种打印机功能。port=0(LPT1)=1(LPT2);cmd=0(打印字符abyte)1(初始化打印机端口)2(读打印机状态);abyte=0-255;返回值:打印机状态位0(设备超时);位3(I/O出错);位4(打印机已选择);位5(没纸);位6(打印机确认);位7(不忙)头文件:bios.hcalloc()分配内存函数原形:void*calloc(size_tnitems,size_tsize)功能:在堆中分配一块内存,将该内存的内容全部清0。返回值:返回指向新分配内存的指针。空间不够则返回NULL。头文件:stdlib.h、calloc.hceil()原形∶doubleceil(doublenum)功能∶求不小于num的最小双精度整数头文件∶math.hcgets()读字符串函数原形:char*cgets(char*str)功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。实际字符串内容从str[2]开始,以空字符(\0)结尾。返回值:指向str[2]的指针。头文件:conio.hchdir()改变当前目录的函数原形:intchdir(constchar*path)功能:把由path指定的目录改为当前目录。path参数中可以指定驱动器号,如“a:\\ddd”,但只是改变该驱动器上的当前目录,对当前活动驱动器上的当前目录无影响。返回值:0(成功);-1(失败)头文件:dir.h_chmod()改变文件存取权限的函数原形:int_chmod(constchar*path,intfunc[,intattrib])功能:读取(func=0时)或设置(func=1时)DOS文件属性。attrib=FA_RDONLY只读attrib=FA_HIDDEN隐藏文件attrib=FA_SYSTEM系统文件attrib=FA_LABLE卷标attrib=FA_DIREC目录attrib=FA_ARCH档案返回值:失败时返回-1。成功时返回文件的属性字节,如果返回值&FA_RDONLY不等于0,则文件是只读文件;......头文件:io.h、dos.hchmod()改变文件存取权限的函数原形:intchmod(constchar*path,intamode)功能:根据amode的值,设置由path所指文件的存取权限。amode的值存取权限S_IWRITE允许写S_IREAD允许读(只读)S_IREAD|S_IWRITE可读可写返回值:0(成功);-1(失败)头文件:io.h、sys\stat.hclock()原形∶longclock(void)功能∶测得从程序开始到调用处处理机所用的时间头文件∶time.hclose()关闭文件函数原形:intclose(inthandle)功能:关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的。该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符。返回值:0(成功);-1(失败)头文件:io.hclosegraph()关闭图形函数原形:voidfarclosegraph(void)功能:释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式。头文件:graphics.hcos()原形∶doublecos(doublearg)功能∶计算arg(弧度)的余弦值头文件∶math.hctrlbrk()设置ctrl-break处理程序的函数原形:voidctrlbrk(int(*handle)(void))功能:修改中断向量0x23,使用新的ctrl-break中断处理函数。用法:ctrlbrk(函数名);先定义函数:int函数名(void){...}头文件:dos.hdelay()暂停函数原形:voiddelay(unsignedmilliseconds)功能:暂停当前所执行的程序milliseconds毫秒。头文件:dos.hdisable()屏蔽中断的宏原形:voiddisble(void)功能:屏蔽中断,只允许从外部设备来的不可屏蔽中断(NMI)。头文件:dos.henable()开硬件中断的宏原形:voidenable(void)功能:开放中断,允许接受任何设备产生的中断。头文件:dos.hexec()加载并运行其它程序的函数族execl(),execle(),execlp(),execlpe(),execv(),execve(),execvp(),execvpe()原形∶intexecl(char*path,char*arg0,*arg1,...,*argn,NULL)intexecle(char*path,char*arg0,*arg1,...,*argn,NULL,char**env)intexeclp(char*path,char*arg0,*arg1,...,*argn,NULL)intexeclpe(char*path,char*arg0,*arg1,...,*argn,NULL,char**env)intexecv(char*path,char*argv[])intexecve(char*path,char*argv[],char**env)intexecvp(char*path,char*argv[])intexecvpe(char*path,char*argv[],char**env)其中,path是调用的子程序的文件名,在exec后面的后缀具有某种功能:p表示函数能够在由DOS环境变量PATH的目录中搜索子进程文件,如果path中未指明文件所在目录,函数将首先在当前目录中找,然后在DOS环境变量指定的目录中找。l表示参数指针(arg0,...,argn)按单独参数传送。当预先知道要传送的参数个数时,通常用带后缀l的函数。v表示参数指针(arg0,...,argn)按指针数组传送。当要传送的参数可变时,使用带后缀v的函数。e表示参数env可以传送到子进程,该函数可用来修改子进程的环境。若无e后缀,子进程将继承父进程的环境。注意:arg0+...+argn,或arg[0]+...+arg[n]的总长度必需小于128字节。当调用exec函数时,原先已经打开的文件在子进程中仍然是打开的。功能:加载并运行其它程序,调用时必须有足够的内存空间用于加载和执行子程序,子程序将覆盖父程序。头文件:process.hfarcalloc()从远堆中分配内存的函数原形:voidfar*farcalloc(unsignedlongnunits,unsignedlongunitsz)功能:从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长。用法:fptr=farcalloc(数目,sizeof(char));先定义:charfar*fptr;注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。微模式不能用。返回值:返回指向新分配块的指针,若内存不够,则返回NULL。头文件:alloc.hfarfree()从远堆中释放一块已分配内存的函数原形:voidfarfree(voidfar*block)头文件:alloc.hfarmalloc()从远堆中分配内存的函数原形:voidfar*

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功