资源描述:
《c语言的常用库函数使用方法分析及用途》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言的常用库函数使用方法分析及用途absread()读磁盘绝对扇区函数 原形:intabsread(intdrive,intnum,intsectnum,void*buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h abswrite()写磁盘绝对扇区函数 原形:intabswrite(intdr
2、ive,intnsects,intlsect,void*buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h atof()将字符串转换成浮点数的函数 原形:doubleatof(constchar*s) 功
3、能:把s所指向的字符串转换成double类型。 s格式为:符号 数字.数字 E符号 数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:intatoi(constchar*s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号 数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:longatol(constchar*s) 功能:把s所指向的字符串转换成longint类型。 s
4、格式为:符号 数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcdbcd(intx) bcdbcd(doublex) bcdbcd(doublex,intdecimals) 注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。 头文件:bcd.h bdos() 原形∶intbdos(intfnum,unsigneddx,unsignedal) 其中fnum是系统调用号;dx是传给寄存器DX的值;al是传给
5、寄存器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字节
6、写入磁盘。 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-操作成功
7、0x01-错误命令 0x03-企图写具有写保护的磁盘 0x07-驱动器参数设置错误 0x10-磁盘读/CRC/ECC错误 头文件:bios.h 注:对于硬盘主引导记录扇区head=0,track=0,sector=1 outport()输出一个字到端口中的函数 原形:voidoutport(intportid,intvalue) 调用方式:outport(0x端口号,要输出的字); 功能:往指定端口地址输出一个字。 头文件:dos.h outportb()输出一个字节到端口中的函数 原形:voidoutportb(int
8、portid,unsignedcharvalue) 调用方式:outportb(0x端口号,要输出的字节); 功能:往指定端口地址输出一个字节。