1. 字符读写函数  :fgetc和fputc
  2. 字符串读写函数:fgets和fputs
  3. 数据块读写函数:freed和fwrite
  4. 格式化读写函数:fscanf和fprinf
 
1.字符读写:
  fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
      字符变量=fgetc(文件指针);
  fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
      fputc(字符量,文件指针); 
 
2.字符串读写
  读字符串函数fgets 
    函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
       fgets(字符数组名,n,文件指针);
  写字符串函数fputs
    fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
       fputs(字符串,文件指针);
 
 3.数据块读写
  读数据块函数调用的一般形式为:
        fread(buffer,size,count,fp);
  写数据块函数调用的一般形式为:
        fwrite(buffer,size,count,fp);
 
 4.格式化读写
  fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。
  这两个函数的调用格式为:
      fscanf(文件指针,格式字符串,输入表列);
      fprintf(文件指针,格式字符串,输出表列);
 
 
 
文件定位
 
  移动文件内部位置指针的函数主要有两个,即 rewind 函数和fseek函数。

  rewind函数前面已多次使用过,其调用形式为:
      rewind(文件指针);
    它的功能是把文件内部的位置指针移到文件首。

  下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:
      fseek(文件指针,位移量,起始点);
  其中:
      “文件指针”指向被移动的文件。
       “位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB 时不会出错。当用常量表示位移量时,要求加后缀“L”。
       “起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。

    其表示方法如下表。

起始点表示符号数字表示
文件首SEEK_SET0
当前位置SEEK_CUR1
文件末尾SEEK_END2
 

    例如:
        fseek(fp,100L,0);
    其意义是把位置指针移到离文件首100个字节处。

    还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。

 
 
 
C语言中常用的文件检测函数有以下几个。

文件结束检测函数feof函数

  调用格式:
     feof(文件指针);
    功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。

 
  读写文件出错检测函数

    ferror函数调用格式:
        ferror(文件指针); 
     功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。

文件出错标志和文件结束标志置0函数

  clearerr函数调用格式:
        clearerr(文件指针); 
      功能:本函数用于清除出错标志和文件结束标志,使它们为0值。

04-28 23:09