C语言库函数大全.docx

上传人:b****6 文档编号:6819268 上传时间:2023-01-10 格式:DOCX 页数:41 大小:38.03KB
下载 相关 举报
C语言库函数大全.docx_第1页
第1页 / 共41页
C语言库函数大全.docx_第2页
第2页 / 共41页
C语言库函数大全.docx_第3页
第3页 / 共41页
C语言库函数大全.docx_第4页
第4页 / 共41页
C语言库函数大全.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C语言库函数大全.docx

《C语言库函数大全.docx》由会员分享,可在线阅读,更多相关《C语言库函数大全.docx(41页珍藏版)》请在冰豆网上搜索。

C语言库函数大全.docx

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(intdrive,intnsects,intlsect,void*buffer)

  drive=0(A驱动器)、1(B驱动器)、

  nsects=要写的扇区数(最多64K个);

  lsect=起始逻辑扇区号;

  buffer=要写入数据的内存起始地址。

  功能:

将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。

  返回值:

0:

成功;-1:

失败。

  头文件:

dos.h

  atof()将字符串转换成浮点数的函数

  原形:

doubleatof(constchar*s)

  功能:

把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格式为:

符号 数字

  返回值:

字符串的转换值。

若出错则返回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是传给寄存器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=1

biosprint()调用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.h

  calloc()分配内存函数

  原形:

void*calloc(size_tnitems,size_tsize)

  功能:

在堆中分配一块内存,将该内存的内容全部清0。

  返回值:

返回指向新分配内存的指针。

空间不够则返回NULL。

  头文件:

stdlib.h、calloc.h

  ceil()

  原形∶doubleceil(doublenum)

  功能∶求不小于num的最小双精度整数

  头文件∶math.h

  cgets()读字符串函数

  原形:

char*cgets(char*str)

  功能:

从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。

  注意:

在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。

实际字符串内容从str[2]开始,以空字符(\0)结尾。

  返回值:

指向str[2]的指针。

  头文件:

conio.h

  chdir()改变当前目录的函数

  原形:

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.h

  chmod()改变文件存取权限的函数

  原形:

intchmod(constchar*path,intamode)

  功能:

根据amode的值,设置由path所指文件的存取权限。

  amode的值     存取权限

  S_IWRITE     允许写

  S_IREAD      允许读(只读)

  S_IREAD|S_IWRITE 可读可写

  返回值:

0(成功);-1(失败)

  头文件:

io.h、sys\stat.h

  clock()

  原形∶longclock(void)

  功能∶测得从程序开始到调用处处理机所用的时间

  头文件∶time.h

close()关闭文件函数

  原形:

intclose(inthandle)

  功能:

关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的。

该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符。

  返回值:

0(成功);-1(失败)

  头文件:

io.h

  closegraph()关闭图形函数

  原形:

voidfarclosegraph(void)

  功能:

释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式。

  头文件:

graphics.h

  cos()

  原形∶doublecos(doublearg)

  功能∶计算arg(弧度)的余弦值

  头文件∶math.h

  ctrlbrk()设置ctrl-break处理程序的函数

  原形:

voidctrlbrk(int(*handle)(void))

  功能:

修改中断向量0x23,使用新的ctrl-break中断处理函数。

  用法:

ctrlbrk(函数名);

  先定义函数:

int函数名(void){...}

  头文件:

dos.h

  delay()暂停函数

  原形:

voiddelay(unsignedmilliseconds)

  功能:

暂停当前所执行的程序milliseconds毫秒。

  头文件:

dos.h

  disable()屏蔽中断的宏

  原形:

voiddisble(void)

  功能:

屏蔽中断,只允许从外部设备来的不可屏蔽中断(NMI)。

  头文件:

dos.h

  enable()开硬件中断的宏

  原形:

voidenable(void)

  功能:

开放中断,允许接受任何设备产生的中断。

  头文件:

dos.h

  exec()加载并运行其它程序的函数族

  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.h

  farcalloc()从远堆中分配内存的函数

  原形:

voidfar*farcalloc(unsignedlongnunits,unsignedlongunitsz)

  功能:

从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长。

  用法:

fptr=farcalloc(数目,sizeof(char));

  先定义:

charfar*fptr;

  注意:

所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。

微模式不能用。

  返回值:

返回指向新分配块的指针,若内存不够,则返回NULL。

  头文件:

alloc.h

farfree()从远堆中释放一块已分配内存的函数

  原形:

voidfarfree(voidfar*block)

  头文件:

alloc.h

  farmalloc()从远堆中分配内存的函数

  原形:

voidfar*farmalloc(unsignedlongnbytes)

  使用方式:

fptr=farmalloc(字节数);

  先定义charfar*fptr;

  功能:

从远堆中分配长nbytes字节的内存。

  注意:

所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。

微模式不能用。

  返回值:

返回指向新分配内存的指针,若内存不够,则返回NULL。

  头文件:

alloc.h

  farrealloc()调整远堆中已分配块的函数

  原形:

voidfar*farrealloc(voidfar*oldblock,unsignedlongnbytes)

  返回值:

返回调整后的新内存地址。

若不能重新分配,则返回NULL。

  头文件:

alloc.h

  fclose()关闭一个流函数

  原形:

intfclose(FILE*stream)

  使用方式:

fclose(文件指针名);其中文件指针名=fopen();

  功能:

关闭指定的流,关闭前清除所有与stream相联的缓冲区,释放系统分配的缓冲区,但由setbuf设置的缓冲区不能自动释放。

  返回值:

0(成功);EOF(失败)

  头文件:

stdio.h

  fcloseall()关闭打开的流的函数

  原形:

intfcloseall(void)

  功能:

关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外。

  返回值:

关闭流的总数。

如果发现错误则返回EOF。

  头文件:

stdio.h

  feof()检查文件是否结束的函数

  原形∶intfeof(FILE*fp)

  返回值∶文件结束返回非0值,否则返回0。

  头文件∶stdio.h

  fgets()从流中读取一字符串的函数

  原形:

char*fgets(chars[],intn,FILE*stream)

  使用格式:

fgets(字符串指针,字符个数,文件指针)

  功能:

从输入流stream中读入字符存到s串中。

当读了n-1个字符或遇到换行符时,函数停止读过程。

fgets在s串尾保留换行字符。

读入的最后一个字符后面加一个空字符。

  返回值:

成功时返回字符串参数s,出错或遇到文件结束时,返回NULL。

  头文件:

stdio.h

  findfirst()函数和findnext()函数

  调用方式:

整形数=findfirst(文件名,&结构变量名,属性常数组合(如0x26));其中定义structffblk结构变量名;

  原形:

intfindfirst(path,buffer,attr)和intfindnext(buffer)

  char*path;//要检索的文件名

  structffblk

  {

  charff_reserved[21];

  charff_attrib;//被检索的文件属性

  unsignedff_ftime;//最后修改的时间

  //(0-4位:

秒数/2;5-10位:

分数;11-15位:

小时数)

  unsignedff_fdate;//最后修改的日期

  //(0-4位:

日;5-8位:

月;9-15位:

年减1980)

  longff_fsize;//文件大小

  charff_name[13];//组名

  }*buffer;

  intattr;//要检索的文件属性

  功能:

检索由path和attr指定的文件,把结果返回到buffer。

findfirst返回关于第一个指定文件的信息,findnext继续检索。

  返回值:

0(检索成功),-1(没有找到指定的文件)

  属性常数:

  FA_NORMAL(0x00)  含意:

Normalfile,noattributes

  FA_RDONLY(0x01)  含意:

只读

  FA_HIDDEN(0x02)  含意:

隐含文件

  FA_SYSTEM(0x04)  含意:

系统文件

  FA_LABEL(0x08)  含意:

卷标

  FA_DIREC(0x10)  含意:

子目录

  FA_ARCH(0x20)   含意:

修改的文件Archive

  头文件:

dir.h(dos.h)

floodfill()填充区域的函数

  原形:

voidfarfloodfill(intx,inty,intborder)

  功能:

在图形设备上用颜色border围起来的区域将用当前填充颜色填充。

(x,y)是待填充区域的起点,若起点在封闭区域内,则区域内被填充;若起点在封闭区域外,则区域外被填充。

  头文件:

graphics.h

  floor()

  原形∶doublefloor(doublenum)

  功能∶求不大于num的最大双精度整数

  头文件∶math.h

  fnmerge()建立文件路径函数

  原形:

voidfnmerge(char*path,constchar*drive,constchar*dir,constchar*name,constchar*ext)

  功能:

合成drive:

\dir\name.ext,放在path

  头文件:

dir.h

  fnsplit()分解完整的路径名函数

  原形:

intfnsplit(char*path,constchar*drive,constchar*dir,constchar*name,constchar*ext)

  功能:

把文件名路径path分成4个部分存放。

  其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点

  返回值:

如果有扩展名,则 返回值&EXTENSION!

=0

  如果有文件名,则 返回值&FILENAME!

=0

  如果有目录名,则 返回值&DIRECTORY!

=0

  如果有驱动器号,则返回值&DIRVE!

=0

  头文件:

dir.h

  fopen()打开一个流函数

  原形:

FILE*fopen(constchar*filename,constchar*mode)

  功能:

打开用filename指定的文件,并使其与一个流相联。

  使用方式:

文件指针名=fopen("文件名","处理方式")

  "处理方式"取:

  "rt"  打开一个文本文件,只能读。

  "wt"  生成一个文本文件,只能写。

若文件存在则被重写。

  "at"  打开一个文本文件,只能在文件尾部添加。

  "rb"  打开一个二进制文件,只能读。

  "wb"  生成一个二进制文件,只能写。

  "ab"  打开一个二进制文件,只能在文件尾部添加。

  "rt+" 打开一个文本文件,可读可写。

  "wt+" 生成一个文本文件,可读可写。

  "at+" 打开一个文本文件,可读可添加。

  "rb+" 打开一个二进制文件,可读可写。

  "wb+" 生成一个二进制文件,可读可写。

  "ab+" 打开一个二进制文件,可读可添加。

  返回值:

指明流的指针(成功时)或NULL(失败时)

  注:

需先定义FILE*文件指针名;

  "文件名"若用argv[1]代替,则可使用命令行形式指定文件名

  FP_OFF()获取远地址偏移量的宏

  原形:

unsignedFP_OFF(voidfar*p)

  功能:

取得和设置远指针*p的偏移量

  返回值:

偏移量

  头文件:

dos.h

  fprintf()传送输出到一个流中的函数

  原形:

intfprintf(FILE*stream,constchar*format[,argument,...])

  功能:

①向文件指针指向的文件输出ASCⅡ代码

  ②向显示器输出错误信息

  使用形式:

  ①fprintf(文件指针,"输出格式",输出项系列);

  ②fprintf(stderr,"错误信息");

  使用实例:

fprintf(stream,"%d%c%f",i,c,f);

  其中定义FILE*stream;

  inti; charc; floatf;

  返回值:

成功则返回输出的字节数,错误则返回EOF。

  头文件:

stdio.h

FP_SEG()获取远地址段值的宏

  原形:

unsignedFP_SEG(voidfar*p)

  功能:

取得和设置远指针*p段地址值

  返回值:

段地址值

  头文件:

dos.h

  free()释放已分配内存的函数

  原形:

voidfree(void*block)

  功能:

释放由calloc、malloc、realloc函数调用所分配的内存。

  头文件:

stdlib.h、alloc.h

  fscanf()格式化输入函数

  原形:

intfscanf(FILE*stream,constchar*format[,address,...])

  功能:

从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据format所指格式指示符格式化后,把输入字段存在format后面由地址参数给出的位置上。

  使用格式:

fscanf(文件指针,"输入格式",输入项系列);

  使用实例:

fscanf(fp,"%d",&b);

  从fp指向的文件中读取十进制整数(ASCⅡ形式)赋予变量b

  注:

当文件指针是stdin时,与scanf功能完全相同

  头文件:

stdio.h

  fseek()移动文件指针函数

  原形:

intfseek(FILE*stream,longoffset,intwhence)

  作用:

强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部)。

  使用格式:

fseek(*文件指针,偏移(长整型),起点)

  定义FILE*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1