C语言的常用库函数【转】
C语言的常用库函数
--------------------------------------------------------------------------------
atof()将字符串转换成浮点数的函数
原形:double atof(const char *s)
功能:把s所指向的字符串转换成double类型。
s格式为:符号 数字.数字 E符号 数字
返回值:字符串的转换值。
头文件:math.h、stdlib.h
atoi()将字符串转换成整型数的函数
原形:int atoi(const char *s)
功能:把s所指向的字符串转换成int类型。
s格式为:符号 数字
返回值:字符串的转换值。若出错则返回0。
头文件:stdlib.h
atol()将字符串转换成长整型数的函数
原形:long atol(const char *s)
功能:把s所指向的字符串转换成long int类型。
s格式为:符号 数字
返回值:字符串的转换值。若出错则返回0。
头文件:stdlib.h
bcd()把一个数转换成对应的BCD码的函数
原形:bcd bcd(int x)
bcd bcd(double x)
bcd bcd(double x,int decimals)
注意:BCD码的精度可达17位。参数decimals是可选的,用来指定转换后小数点后的位数。
头文件:bcd.h
calloc()分配内存函数
原形:void *calloc(size_t nitems,size_t size)
功能:在堆中分配一块内存,将该内存的内容全部清0。
返回值:返回指向新分配内存的指针。空间不够则返回NULL。
头文件:stdlib.h、calloc.h
ceil()
原形∶double ceil(double num)
功能∶求不小于num的最小双精度整数
头文件∶math.h
cgets()读字符串函数
原形:char *cgets(char *str)
功能:从控制台读入一个字符串,并将该字符串(和字符串长度)存入有str所指向的地址中。
注意:在调用cgets之前,必须将要读入的字符串最大长度存入str[0]中,返回时str[1]被设置为实际读入的字符数。实际字符串内容从str[2]开始,以空字符(\0)结尾。
返回值:指向str[2]的指针。
头文件:conio.h
clock()
原形∶long clock(void)
功能∶测得从程序开始到调用处处理机所用的时间
头文件∶time.h
close()关闭文件函数
原形:int close(int handle)
功能:关闭由文件句柄所指向的文件,句柄是调用_creat、creat、creatnew、creattemp、dup、dup2、_open或open时得到的。该函数并不在文件末尾写一个Ctrl-Z字符,如果想用该字符结束文件,必须显式地给出该字符。
返回值:0(成功);-1(失败)
头文件:io.h
closegraph()关闭图形函数
原形:void far closegraph(void)
功能:释放图形系统分配的所有内存,将屏幕恢复到调用initgraph之前的模式。
头文件:graphics.h
cos()
原形∶double cos(double arg)
功能∶计算arg(弧度)的余弦值
头文件∶math.h
farcalloc()从远堆中分配内存的函数
原形:void far *farcalloc(unsigned long nunits,unsigned long
unitsz)
功能:从远堆中为包含nunits个元素的数组分配内存,每一区unitsz字节长。
用法:fptr=farcalloc(数目,sizeof(char));
先定义:char far *fptr;
注意:所有可用RAM能被分配;大于64K的块能被分配;用远指针存取该块。微模式不能用。
返回值:返回指向新分配块的指针,若内存不够,则返回NULL。
头文件:alloc.h
farfree()从远堆中释放一块已分配内存的函数
原形:void farfree(void far *block)
头文件:alloc.h
feof()检查文件是否结束的函数
原形∶int feof(FILE *fp)
返回值∶文件结束返回非0值,否则返回0。
头文件∶stdio.h
fgets()从流中读取一字符串的函数
原形:char *fgets(char s[],int n,FILE *stream)
使用格式:fgets(字符串指针,字符个数,文件指针)
功能:从输入流stream中读入字符存到s串中。当读了n-1个字符或遇到换行符时,函数停止读过程。fgets在s串尾保留换行字符。读入的最后一个字符后面加一个空字符。
返回值:成功时返回字符串参数s,出错或遇到文件结束时,返回NULL。
头文件:stdio.h
floor()
原形∶double floor(double num)
功能∶求不大于num的最大双精度整数
头文件∶math.h
fnmerge()建立文件路径函数
原形:void fnmerge(char *path,const char *drive,const char *dir,
const char *name,const char *ext)
功能:合成drive:\dir\name.ext,放在path
头文件:dir.h
fnsplit()分解完整的路径名函数
原形:int 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.h
fopen()打开一个流函数
原形:FILE *fopen(const char *filename,const char *mode)
功能:打开用filename指定的文件,并使其与一个流相联。
使用方式:文件指针名=fopen("文件名","处理方式")
"处理方式"取:
"rt" 打开一个文本文件,只能读。
"wt" 生成一个文本文件,只能写。若文件存在则被重写。
"at" 打开一个文本文件,只能在文件尾部添加。
"rb" 打开一个二进制文件,只能读。
"wb" 生成一个二进制文件,只能写。
"ab" 打开一个二进制文件,只能在文件尾部添加。
"rt+" 打开一个文本文件,可读可写。
"wt+" 生成一个文本文件,可读可写。
"at+" 打开一个文本文件,可读可添加。
"rb+" 打开一个二进制文件,可读可写。
"wb+" 生成一个二进制文件,可读可写。
"ab+" 打开一个二进制文件,可读可添加。
返回值:指明流的指针(成功时)或NULL(失败时)
注:需先定义 FILE *文件指针名;
"文件名"若用 argv[1]代替,则可使用命令行形式指定文件名
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; char c; float f;
返回值:成功则返回输出的字节数,错误则返回EOF。
头文件:stdio.h
free()释放已分配内存的函数
原形:void free(void *block)
功能:释放由calloc、malloc、realloc函数调用所分配的内存。
头文件:stdlib.h、alloc.h
fscanf()格式化输入函数
原形:int fscanf(FILE *stream,const char
*format[,address,...])
功能:从一个流中扫描输入字段,一次扫描一个字符,每个输入字段根据format所指格式指示符格式化后,把输入字段存在format后面由地址参数给出的位置上。
使用格式:fscanf(文件指针,"输入格式",输入项系列);
使用实例:fscanf(fp,"%d",&b);
从fp指向的文件中读取十进制整数 (ASCⅡ形式)赋予变量b
注:当文件指针是stdin时,与scanf功能完全相同
头文件:stdio.h
fseek()移动文件指针函数
原形:int fseek(FILE *stream,long offset,int whence)
作用:强制一个文件的位置指针指向某个特定的位置(甚至超出文件的尾部)。
使用格式:fseek(*文件指针,偏移(长整型),起点)
定义 FILE *文件指针名;
"起点"取值:
0或SEEK_SET(表示文件开头)
1或SEEK_CUR(表示当前位置)
2或SEEK_END(表示文件尾端)
返回值:0表示成功,非0值表示失败
头文件:stdio.h
fwrite()把参数写入流中的函数
原形: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()把双精度数转化成字符串的函数
原形∶char*gcvt(value,ndigit,buf)
其中∶double value是待转化数
int ndigit是转化长度
char *buf保存转化后的地址
头文件∶stdlib.h
getc()从流中取字符的宏
原形:int getc(FILE *stream)
功能:返回输入流stream中一个字符,移动文件指针使之指向下一个字符。
使用格式:字符变量=getc(文件指针)
(正常情况下读取到代码值,读到文件尾或出错时返回EOF)
注:需定义 char 字符变量;FILE *文件指针;
头文件:stdio.h
getch()从键盘无回显地读取一字符的函数
功能:将键盘上输入的单个字符的值(ASCⅡ
码)立刻赋给字符型变量
调用方式:字符形变量=getch()
注:需先定义 char 字符形变量;
头文件:conio.h
getchar()从stdin流中读取一个字符的函数
功能:将键盘上输入的单个字符的值(ASCⅡ
码)回车后赋给字符型变量
调用方式:字符型变量=getchar()
注:需先定义 char 字符型变量;
头文件:stdio.h
getdate()读取系统日期函数
原形:void getdate(pdate)
struct date
{
int da_year;
int da_day;
int da_mon;
};
struct date *pdate;
头文件:dos.h
getdfree()读取磁盘空闲空间的函数
原形:void getdfree(drive,dtable)
unsigned char drive;驱动器号(0-当前;1-A;2-B;...)
struct dfree
{
unsigned df_avail;//可使用的簇数
unsigned df_total;//每个驱动器的簇数
unsigned df_bsec;//每个扇区的字节数
unsigned df_sclus;//每个簇的扇区数(出错时返回0xffff)
}*dtable;
功能:把由drive指定的关于驱动器的信息返回到dtable
getdisk()读取当前磁盘驱动器号函数
原形:int getdisk(void)
功能:取得当前驱动器号(0=A;1=B;....)
头文件:dir.h
getimage()将指定区域的位图象存入内存的函数
原形:void far getimage(int left,int top,int right,int bottom,void
far *bitmap)
功能:将图像(矩形区域)从屏幕拷贝到内存,*bitmap指向内存中存放图像的区域。该区域的前两个字节用于存放矩形的高和宽。
头文件:graphics.h
getmaxx()返回屏幕上最大的X坐标值的函数
原形:int far getmaxx(void)
功能:返回当前图形驱动程序和图形模式下最大的X坐标值。
头文件:graphics.h