C语言的常用库函数学习(二)

来源:岁月联盟 编辑:zhu 时间:2009-02-27

fcloseall()关闭打开的流的函数
原形:int fcloseall(void)
功能:关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外。
返回值:关闭流的总数。如果发现错误则返回EOF。
头文件:stdio.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

findfirst()函数和findnext()函数
调用方式:整形数=findfirst(文件名,&结构变量名,属性常数组合(如0x26));其中定义struct ffblk 结构变量名;
原形:int findfirst(path,buffer,attr)和int findnext(buffer)
   char *path;//要检索的文件名
   struct ffblk
    {
    char ff_reserved[21];
    char ff_attrib;//被检索的文件属性
    unsigned ff_ftime;//最后修改的时间
     //(0-4位:秒数/2;5-10位:分数;11-15位:小时数)
    unsigned ff_fdate;//最后修改的日期
     //(0-4位:日;5-8位:月;9-15位:年减1980)
    long ff_fsize;//文件大小
    char ff_name[13];//组名
    }*buffer;
   int attr;//要检索的文件属性
功能:检索由path和attr指定的文件,把结果返回到buffer。findfirst返回关于第一个指定文件的信息,findnext继续检索。
返回值:0(检索成功),-1(没有找到指定的文件)
属性常数:
  FA_NORMAL(0x00)  含意:Normal file, no attributes
  FA_RDONLY(0x01)  含意:只读
  FA_HIDDEN(0x02)  含意:隐含文件
  FA_SYSTEM(0x04)  含意:系统文件
  FA_LABEL(0x08)   含意:卷标
  FA_DIREC(0x10)   含意:子目录
  FA_ARCH(0x20)   含意:修改的文件Archive
头文件:dir.h(dos.h)

floodfill()填充区域的函数
原形:void far floodfill(int x,int y,int border)
功能:在图形设备上用颜色border围起来的区域将用当前填充颜色填充。(x,y)是待填充区域的起点,若起点在封闭区域内,则区域内被填充;若起点在封闭区域外,则区域外被填充。
头文件:graphics.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[Page]
    如果有文件名,则 返回值&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]代替,则可使用命令行形式指定文件名

FP_OFF()获取远地址偏移量的宏
原形:unsigned FP_OFF(void far *p)
功能:取得和设置远指针*p的偏移量
返回值:偏移量
头文件:dos.h

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

FP_SEG()获取远地址段值的宏
原形:unsigned FP_SEG(void far *p)
功能:取得和设置远指针*p段地址值
返回值:段地址值
头文件:dos.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(*文件指针,偏移(长整型),起点)[Page]
     定义 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

geninterrupt()执行中断函数
原形:void geninterrupt(int n)
调用方式:geninterrupt(软中断号)
功能:产生一个8086软中断
注:需先向寄存器传递入口信息(用伪变量)
  例如  伪变量=要赋的值(入口信息);
      调用geninterrupt()函数后得接受出口信息
  例如  变量名=伪变量
伪变量∶Turbo C 允许使用伪变量直接访问相应的8086寄存器。伪变量的类型有两种。
  ① unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI
  ② unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH

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

getcurdir()读取指定驱动器的当前目录的函数
原形:int getcurdir(int drive,char directory)
   drive=0(缺省);1(A驱动器);...
   directory用来存放目录名,不包括驱动器名,不以反斜杠开始。
返回值:0(调用成功);1(出错)
头文件:dir.h

getcwd()读取当前目录的函数
原形:char *getcwd(char *buf,int buflen)
功能:读取当前目录的完整路径名(包括驱动器名),最长为buflen个字节,存放在buf中。如果buf为NULL,函数将分配一个buflen字节长的缓冲区,以后可将本函数的返回值作为free函数的参数来释放该缓冲区。
返回值:若buf非空,调用成功返回buf,出错返回NULL;若buf为NULL,返回指向已经分配的内存缓冲区地址。
头文件:dir.h

getdate()读取系统日期函数
原形:void getdate(pdate)[Page]
  struct date
   {
   int da_year;
   int da_day;
   int da_mon;
   };
  struct date *pdate;
头文件:dos.h

图片内容