C语言常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言的常用库函数
函数1。absread()读磁盘绝对扇区函数
原形:int absread(int drive,int num,int sectnum,void *buf)
功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。
参数:drive=0对应A盘,drive=1对应B盘。
返回值:0:成功;-1:失败。
头文件:dos.h
函数2。abswrite()写磁盘绝对扇区函数
原形:int abswrite(int drive,int nsects,int lsect,void *buffer)
drive=0(A驱动器)、1(B驱动器)、
nsects=要写的扇区数(最多64K个);
lsect=起始逻辑扇区号;
buffer=要写入数据的内存起始地址。
功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。
返回值:0:成功;-1:失败。
头文件:dos.h
函数3。atof()将字符串转换成浮点数的函数
原形:double atof(const char *s)
功能:把s所指向的字符串转换成double类型。
s格式为:符号数字.数字E符号数字
返回值:字符串的转换值。
头文件:math.h、stdlib.h
函数4。atoi()将字符串转换成整型数的函数
原形:int atoi(const char *s)
功能:把s所指向的字符串转换成int类型。
s格式为:符号数字
返回值:字符串的转换值。若出错则返回0。
头文件:stdlib.h
函数5。atol()将字符串转换成长整型数的函数
原形:long atol(const char *s)
功能:把s所指向的字符串转换成long int类型。
s格式为:符号数字
返回值:字符串的转换值。若出错则返回0。
头文件:stdlib.h
函数6。bcd()把一个数转换成对应的BCD码的函数
原形:bcd bcd(int x)
bcd bcd(double x)
bcd bcd(double x,int decimals)
注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。
头文件:bcd.h
函数7。bdos()
原形∶int bdos(int fnum,unsigned dx,unsigned al)
其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给寄存器AL的值;
功能∶DOS系统调用(INT21H)
返回值∶AX中的值
函数8。biosdisk()调用BIOS磁盘驱动程序函数
原形:char biosdisk(int cmd,int drive,int head,int track,int sector,int nsects,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:数据缓冲区,定义为unsigned char buffer[];
返回值:0x00-操作成功
0x01-错误命令
0x03-企图写具有写保护的磁盘
0x07-驱动器参数设置错误
0x10-磁盘读/CRC/ECC错误
头文件:bios.h
注:对于硬盘主引导记录扇区head=0,track=0,sector=1
函数9。biosprint()调用BIOS打印机I/O接口的函数
原形:int biosprint(int cmd,int abyte,int port)
功能:通过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.h
函数10。calloc()分配内存函数
原形:void *calloc(size_t nitems,size_t size)
功能:在堆中分配一块内存,将该内存的内容全部清0。
返回值:返回指向新分配内存的指针。空间不够则返回NULL。
头文件:stdlib.h、calloc.h
函数11。ceil()
原形∶double ceil(double num)
功能∶求不小于num的最小双精度整数
头文件∶math.h
函数12。cgets()读字符串函数
原形:char *cgets(char *str)
功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。
注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。实际字符串内容从str[2]开始,以空字符(\0)结尾。
返回值:指向str[2]的指针。