C语言的常用库函数

上传人:无*** 文档编号:157348957 上传时间:2022-09-29 格式:DOC 页数:17 大小:60.50KB
收藏 版权申诉 举报 下载
C语言的常用库函数_第1页
第1页 / 共17页
C语言的常用库函数_第2页
第2页 / 共17页
C语言的常用库函数_第3页
第3页 / 共17页
资源描述:

《C语言的常用库函数》由会员分享,可在线阅读,更多相关《C语言的常用库函数(17页珍藏版)》请在装配图网上搜索。

1、语言的常用库函数atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。s格式为:符号数字.数字E符号数字返回值:字符串的转换值。头文件:math.h、stdlib.hatoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。s格式为:符号数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.hatol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成lon

2、g int类型。s格式为:符号数字返回值:字符串的转换值。若出错则返回0。头文件:stdlib.hbcd()把一个数转换成对应的BCD码的函数原形:bcd bcd(int x)bcd bcd(double x)bcd bcd(double x,int decimals)注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。头文件:bcd.hcalloc()分配内存函数原形:void *calloc(size_t nitems,size_t size)功能:在堆中分配一块内存,将该内存的内容全部清。返回值:返回指向新分配内存的指针。空间不够则返回NULL。头

3、文件:stdlib.h、calloc.hceil()原形double ceil(double num)功能求不小于num的最小双精度整数头文件math.hcgets()读字符串函数原形:char *cgets(char *str)功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。注意:在调用cgets之前,必须将要读入的字符串最大长度存入str0中,返回时str1被设置为实际读入的字符数。实际字符串内容从str2开始,以空字符(0)结尾。返回值:指向str2的指针。头文件:conio.hclock()原形long clock(void)功能测得从程序开始到调

4、用处处理机所用的时间头文件time.hclose()关闭文件函数原形:int close(int handle)功能:关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的。该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符。返回值:0(成功);-1(失败)头文件:io.hclosegraph()关闭图形函数原形:void far closegraph(void)功能:释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式。头文件:graphic

5、s.hcos()原形double cos(double arg)功能计算arg(弧度)的余弦值头文件math.hfarcalloc()从远堆中分配内存的函数原形:void far *farcalloc(unsigned long nunits,unsigned long unitsz)功能:从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长。用法:fptr=farcalloc(数目,sizeof(char);先定义:char far *fptr;注意:所有可用RAM能被分配;大于64的块能被分配;用远指针存取该块。微模式不能用。返回值:返回指向新分配块的指针,若内存不够,

6、则返回NULL。头文件:alloc.hfarfree()从远堆中释放一块已分配内存的函数原形:void farfree(void far *block)头文件:alloc.hfeof()检查文件是否结束的函数原形int feof(FILE *fp)返回值文件结束返回非0值,否则返回0。头文件stdio.hfgets()从流中读取一字符串的函数原形:char *fgets(char s,int n,FILE *stream)使用格式:fgets(字符串指针,字符个数,文件指针)功能:从输入流stream中读入字符存到s串中。当读了n-1个字符或遇到换行符时,函数停止读过程。fgets在s串尾保留

7、换行字符。读入的最后一个字符后面加一个空字符。返回值:成功时返回字符串参数s,出错或遇到文件结束时,返回NULL。头文件:stdio.hfloor()原形double floor(double num)功能求不大于num的最大双精度整数头文件math.hfnmerge()建立文件路径函数原形:void fnmerge(char *path,const char *drive,const char *dir, const char *name,const char *ext)功能:合成drive:dirname.ext,放在path头文件:dir.hfnsplit()分解完整的路径名函数原形:i

8、nt fnsplit(char *path,const char *drive,const char *dir,const char *name,const char *ext)功能:把文件名路径path分成4个部分存放。其中drive中有冒号;dir中有开始和结尾的反斜杠;ext包括开始圆点返回值:如果有扩展名,则返回值&EXTENSION!=0如果有文件名,则返回值&FILENAME!=0如果有目录名,则返回值&DIRECTORY!=0如果有驱动器号,则返回值&DIRVE!=0头文件:dir.hfopen()打开一个流函数原形:FILE *fopen(const char *filenam

9、e,const char *mode)功能:打开用filename指定的文件,并使其与一个流相联。使用方式:文件指针名fopen(文件名,处理方式)处理方式取:rt打开一个文本文件,只能读。wt生成一个文本文件,只能写。若文件存在则被重写。at打开一个文本文件,只能在文件尾部添加。rb打开一个二进制文件,只能读。wb生成一个二进制文件,只能写。ab打开一个二进制文件,只能在文件尾部添加。rt+ 打开一个文本文件,可读可写。wt+ 生成一个文本文件,可读可写。at+ 打开一个文本文件,可读可添加。rb+ 打开一个二进制文件,可读可写。wb+ 生成一个二进制文件,可读可写。ab+ 打开一个二进制文

10、件,可读可添加。返回值:指明流的指针(成功时)或NULL(失败时)注:需先定义 FILE *文件指针名;文件名若用 argv1代替,则可使用命令行形式指定文件名fprintf()传送输出到一个流中的函数原形:int fprintf(FILE *stream,const char *format,argument,.)功能:向文件指针指向的文件输出ASC代码向显示器输出错误信息使用形式:fprintf(文件指针,输出格式,输出项系列);fprintf(stderr,错误信息);使用实例:fprintf(stream,%d %c %f,i,c,f);其中定义FILE *stream;int i;c

11、har c;float f;返回值:成功则返回输出的字节数,错误则返回EOF。头文件:stdio.hfree()释放已分配内存的函数原形:void free(void *block)功能:释放由calloc、malloc、realloc函数调用所分配的内存。头文件:stdlib.h、alloc.hfscanf()格式化输入函数原形:int fscanf(FILE *stream,const char *format,address,.)功能:从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据format所指格式指示符格式化后,把输入字段存在format后面由地址参数给出的位置上。使用格

12、式:fscanf(文件指针,输入格式,输入项系列);使用实例:fscanf(fp,%d,&b);从fp指向的文件中读取十进制整数 (ASC形式)赋予变量b注:当文件指针是stdin时,与scanf功能完全相同头文件:stdio.hfseek()移动文件指针函数原形:int fseek(FILE *stream,long offset,int whence)作用:强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部)。使用格式:fseek(*文件指针,偏移(长整型),起点)定义 FILE *文件指针名;起点取值:0或SEEK_SET(表示文件开头)1或SEEK_CUR(表示当前位置)2或

13、SEEK_END(表示文件尾端)返回值:0表示成功,非0值表示失败头文件:stdio.hfwrite()把参数写入流中的函数原形:size_t fwrite(const void *ptr,size_t size,size_t n,FILE *stream)功能:附加n个数据项(每个数据项长度为size个字节)到指定的输出文件后,数据从ptr处开始添加。ptr是指向任意对象的指针。返回值:调用成功时返回实际写的数据项数,出错时返回一短整形数值。头文件:stdio.h例:fwrite(&s,sizeof(s),1,stream);其中s是一结构变量,stream=fopen();gcvt()把双

14、精度数转化成字符串的函数原形char*gcvt(value,ndigit,buf)其中double value是待转化数int ndigit是转化长度char *buf保存转化后的地址头文件stdlib.hgetc()从流中取字符的宏原形:int getc(FILE *stream)功能:返回输入流stream中一个字符,移动文件指针使之指向下一个字符。使用格式:字符变量getc(文件指针)(正常情况下读取到代码值,读到文件尾或出错时返回EOF)注:需定义 char 字符变量;FILE *文件指针;头文件:stdio.hgetch()从键盘无回显地读取一字符的函数功能:将键盘上输入的单个字符的

15、值(ASC 码)立刻赋给字符型变量调用方式:字符形变量getch()注:需先定义 char 字符形变量;头文件:conio.hgetchar()从stdin流中读取一个字符的函数功能:将键盘上输入的单个字符的值(ASC 码)回车后赋给字符型变量调用方式:字符型变量getchar()注:需先定义 char 字符型变量;头文件:stdio.hgetdate()读取系统日期函数原形:void getdate(pdate)struct dateint da_year;int da_day;int da_mon;struct date *pdate;头文件:dos.hgetdfree()读取磁盘空闲空间

16、的函数原形:void getdfree(drive,dtable)unsigned char drive;驱动器号(0-当前;1-A;2-B;.)struct dfreeunsigned df_avail;/可使用的簇数unsigned df_total;/每个驱动器的簇数unsigned df_bsec;/每个扇区的字节数unsigned df_sclus;/每个簇的扇区数(出错时返回0xffff)*dtable;功能:把由drive指定的关于驱动器的信息返回到dtablegetdisk()读取当前磁盘驱动器号函数原形:int getdisk(void)功能:取得当前驱动器号(0=A;1=B

17、;.)头文件:dir.hgetimage()将指定区域的位图象存入内存的函数原形:void far getimage(int left,int top,int right,int bottom,void far *bitmap)功能:将图像(矩形区域)从屏幕拷贝到内存,*bitmap指向内存中存放图像的区域。该区域的前两个字节用于存放矩形的高和宽。头文件:graphics.hgetmaxx()返回屏幕上最大的坐标值的函数原形:int far getmaxx(void)功能:返回当前图形驱动程序和图形模式下最大的X坐标值。头文件:graphics.hgetmaxy()返回屏幕上最大的Y坐标值的函

18、数原形:int far getmaxy(void)功能:返回当前图形驱动程序和图形模式下最大的Y坐标值。头文件:graphics.hgetpixel()读取像素颜色的函数原形:unsigned far getpixel(int x,int y)头文件:graphics.hgetpsp()原形unsigned getpsp(void)功能使用DOS系统调用0x62,返回程序段前缀(PSP)的段地址头文件dos.hgets()从标准输入流stdio中读取一字符串的函数功能:将键盘上输入的字符串立刻赋予字符串变量并显示出来调用方式:gets(字符串变量名)注:需定义 char *字符串变量名;get

19、time()读取系统时间的函数原形:void gettime(ptime)struct timeunsigned char ti_min;unsigned char ti_hour;unsigned char ti_hund;/百分之一秒unsigned char ti_sec;struct time *ptime;getx()返回当前图形方式下位置的X坐标值的函数原形:int far getx(void);头文件:graphics.hgety()返回当前图形方式下位置的Y坐标值的函数原形:int far gety(void);头文件:graphics.hlog()原形double log(d

20、ouble num)功能求num的自然对数值头文件math.hlog10()原形double log10(double num)功能求num以10为底的对数值头文件math.h_lrotl()将一个无符号长整形数左循环移位的函数原形:unsigned long _lrotl(unsigned long value,int count)功能:将value向左循环移动count位。返回值:将value向左循环移动count位后的值。头文件:stdlib.h_lrotr()将一个无符号长整形数右循环移位的函数原形:unsigned long _lrotr(unsigned long value,in

21、t count)功能:将value向右循环移动count位。返回值:将value向右循环移动count位后的值。头文件:stdlib.hltoa()把长整形数转换为字符串的函数原形:char *ltoa(long value,char *string,int radix)功能:把value的值转换为以NULL结束的字符串,并把结果存在string中。radix是转换的基数值,在2到36之间。分配给string的空间必须可容纳返回的所有字节(最多33字节)。返回值:指向string的指针头文件:stdlib.hmalloc()分配内存函数原形:void *malloc(size_t size)功

22、能:从堆中分配大小为size字节的块。win32也适用。返回值:返回新分配内存的地址,若无足够内存,返回NULL。头文件:alloc.h、stdlib.h_open()打开一个文件进行读写的函数原形:int _open(path,oflags)char *path;/已建立文件的路径名int oflags;/方式功能:打开由path指定的文件,返回文件的句柄返回值:0(正常结束);-1(错误)头文件:fcntl.h、io.hopen()打开文件进行读写的函数原形:int open(const char *path,int access,unsigned mode)使用方法:文件句柄=open(

23、文件名,打开模式|打开模式);功能:打开path指定的文件,根据access指定的模式值读写。access模式:O_RDONLY以只读方式打开O_WRONLY以只写方式打开O_RDOWR 以读写方式打开以上标志只能使用一个,以下可以用|组合使用O_NDELAYO_APPEND若置位,每次写操作前都使文件指针指到文件末尾O_CREAT 若文件不存在则创建O_TRUNC 若文件已存在,则将文件长度截为0O_EXCL只和O_CREAT一起使用,若文件已经存在,返回错误代码O_BINARY以二进制方式打开O_TEXT以文本方式打开如果使用了O_CREAT方式,则需要提供参数mode(S_IWRITE可

24、写;S_IREAD可读;S_IREAD|S_IWRITE可读写)返回值:文件句柄(成功时);-1(失败时)。成功时,文件指针指向文件头。头文件:fcntl.h、io.houtport()输出一个字到端口中的函数原形:void outport(int portid,int value)调用方式:outport(0x端口号,要输出的字);功能:往指定端口地址输出一个字。头文件:dos.houtportb()输出一个字节到端口中的函数原形:void outportb(int portid,unsigned char value)调用方式:outportb(0x端口号,要输出的字节);功能:往指定端口

25、地址输出一个字节。附:PC I/O地址分配PC只用了10位地址线(A0-A9)进行译码,其寻址的范围为0H-3FFH,共有1024个I/O地址。这1024个地址中前半段(A9=0,范围为0H-1FFH)是属于主机板I/O译码,后半段(A9=1,范围为200H-3FFH)则是用来扩展插槽上的I/O译码用。pow()原形double pow(double b,double exp)功能求以b为底的exp次幂的值头文件math.hprintf()写格式化输出到stdout的函数使用方式:例printf(%f,实型变量);printf(%f,(*函数指针名)(参数);printf(%c,字符变量);p

26、rintf(%c,*字符串变量名即字符串地址);只显示字符串的第一个字符。printf(%s,字符串数组名即字符串数组地址);printf(%-10s,字符串变量名);显示字符串时限定十位(不足则补空格),并靠左端对齐。printf(%s,*二级指针变量);printf(字符串%05dn,整型变量);先显示字符串,然后显示整型变量的值(限五位,不足则补零),最后换行。注:1. 需先定义 float 实型变量; 需先定义 float (*函数指针名)(); 并有相应的函数 需先定义 char 字符变量单个字符;需先定义 char *字符串变量名; 并赋值 需先定义 char 字符串数组名=字符串

27、; 需先定义 char *二级指针变量2.其它转换字符(在%后)有 o 整型数以无符号的八进制形式输出 x 整型数和伪变量以无符号的十六进制形式输出 u 整型数以无符号的十进制形式输出 e 浮点数或双精度浮点数以指数形式输出 g 选用e或f格式中输出位数较短的形式 p 以无符号的十六进制形式输出变量的地址。若要输出函数的地址,远指针用Fp;近指针用Np。putch()向屏幕输出字符的函数使用方式: putch(转义字符); putch(单个字符); putch(字符变量);注:需先定义 char 字符变量单个字符;头文件:conio.hputchar()在stdout上输出字符的宏原形:int

28、 putchar(int c)返回值:成功返回字符c,失败返回EOF。头文件:stdio.hputimage()重新写屏函数(输出一个位图象到图形屏幕上的函数)功能:将用getimage()函数储存在buf 所指向的内存区域的图形输出到屏幕上。原形:void far putimage(int left,int top,void far *buf,int op)其中op的值决定了图形以何种方式写到屏幕上。COPY_PUT 或0 原样复制XOR_PUT 或1 与屏幕图形取“异或”后写入OR_PUT 或2 与屏幕图形取“或”后写入AND_PUT 或3 与屏幕图形取“与”后写入NOT_PUT 或4 复

29、制原图形的“逆”使用不同的方式将图形写到屏幕上,可以实现图形变换。例如,采用异或方式在原始位置重写,那么,原图将消失。如果再使用复制方式(COPY_PUT)在一个新的地方重现该图形,就产生了图形的移动。头文件:graphics.hputpixel()写像素点函数原形:void far putpixel(int x,int y,int color)头文件:graphics.hputs()输出一字符串到stdout(标准输出)的函数使用方式: puts(字符串); puts(字符串变量名即字符串变量的地址)注:需先定义 char *字符串变量名字符串;头文件:stdio.h_read()读文件函数

30、原形:int _read(handle,buffer,count)int handle;/文件句柄void *buffer;/存放读出数据的缓冲区unsigned count;/一次读出的字节数功能:从由handle指定的文件中读取由count指定字节数的数据到buffer返回值:0-0xfffe(实际读出的字节数);-1(错误)头文件:io.hread()读文件函数原形:int read(int handle,void *buf,unsigned len)功能:从与handle(从creat、open、dup或dup2调用中得到的句柄)相联的文件中读取len字节到由buf所指的缓冲区中。对于

31、以文本方式打开的文件,read删除读入数据中的回车符。当读到Ctrl-Z字符时返回文件结束。对于磁盘文件,read从当前文件指针处开始读取数据。在读操作完成后,文件指针增量为读入的字节数。对于设备,直接从设备中读字节。返回值:读入缓冲区的字节数,如果文件以文本方式打开,则不包括回车符和Ctrl-Z字符。头文件:io.hrealloc()重新分配内存函数原形:void *realloc(void *block,size_t size)block指向用malloc、calloc或realloc已得到的内存。size是重新分配的字节。返回值:重分配的块地址。若不能重分配,则返回NULL。头文件:st

32、dlib.hrectangle()画一个矩形的函数原形:void far rectangle(int left,int top,int right,int bottom)功能:用当前线性、宽度和画线颜色绘制一个矩形。头文件:graphics.hscanf()格式化输入函数使用格式:scanf(输入格式,输入项系列) scanf(%f,&实型变量) scanf(%c,&字符变量) scanf(%s,字符串变量) scanf(%d,&整型变量)注:需先定义以上各种变量如 char *字符串变量;searchpath()按dos路径查找一个文件的函数原形:char *searchpath(const

33、 char *file)用法:p=searchpath(文件名); 先定义char *p;功能:搜索dos路径(环境变量中的path=.)来定位由file给出的文件。返回值:指向完整路径名字符串的指针。定位失败返回NULL。头文件:dir.hsin()原形double sin(double arg)功能计算arg(弧度)的正弦值头文件math.hsprintf()格式化输出到数组的函数原形int sprintf(buf,format,arg_list)其中char *buf;功能把arg_list参量的值按format的格式输出到buf中。例sprintf(buffer,相对扇区号%s(其中柱

34、面号为%d/磁头号为%d/扇区号为%d),string,cyls,head,sector);其中char buffer100;char *string=;int cyls,head,sector;返回值实际写入数组的字符个数。头文件stdio.hstrcat()原形char *strcat(str1,str2)功能把str2所指的字符串连接到str1所指的字符串后。返回值指向str1的指针。tan()原形double tan(double arg)功能计算arg(弧度)的正切值头文件math.h_write()写文件函数原形:int _write(handle,buffer,count)int

35、 handle;/文件的句柄void *buffer;/存放数据的缓冲区unsigned count;/写入的字节数功能:从由buffer指定的缓冲区写入由count指定字节数的数据到由handle指定的文件。返回实际写入的字节数。返回值:0-0xfffe(实际写入的字节数);-1(错误)头文件:io.hwrite()写文件函数原形:int write(int handle,char *buf,unsigned len)用法:write(文件句柄,缓冲区地址,缓冲区字节长度);功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;返回值:实际写入的字节数(不包括回车符),出错时返回-1。头文件:io.h

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!