c复习过程随笔十

文件的输入输出:

  操作系统把各种设备都统一作为文件来处理,c的数据文件是由一串的字符(字节)组成,不考虑行的界限,两行数据间不会自动加分隔符,对文件的存取是以字符(字节)为单位的。输入输出数据流的开始和结束仅受流程控制而不受物理符号的控制。

  文件名:文件路径  文件名主干 和文件后缀

  文件分类:ASCII文件和二进制文件,数据可以用ASCII形式存储也可以用二进制形式存储

  文件缓冲区:从内存向磁盘输出数据必须先送到内存中的缓存区,装满缓存区后才一起送到磁盘去。从磁盘读入时,一次从磁盘将一批数据输入到内存缓冲区,然后再从缓冲区逐个的将数据送到程序数据区。

  文件类型指针:每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(保存在结构体变量中,由系统命名FILE)。

打开文件就是为文件建立相应的信息区(用来存放有关文件的信息)和文件缓冲区(用来暂时存放输入输出的数据),关闭文件就是撤销文件信息区和文件缓冲区

      fopen打开文件: fopen(文件名,使用文件方式) 如fopen(“a1”,“r”)表示打开文件名为a1的文件,使用文件方式为读入,fopen的返回值是指向a1文件的指针(a1文件信息区的起始地址)

   fclose关闭文件:fclose(文件指针)成功关闭,返回0,否则返回EOF(-1);

  feof函数:其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0,文件结束符只能被clearerr()清除。

 顺序读写数据文件:对文件读写数据的顺序和数据在文件中的物理顺序是一致的

向文件读写字符:fgetc(fp) 从fp指向的文件读入一个字符(成功返回所读字符,失败返回EOF)

        fputc(ch,fp)把字符ch写到文件指针变量fp所指向的文件中(输出成功,返回输出字符,输出失败,返回EOF)

向文件读写一个字符串:

  fgets(str,n,fp);从fp所指向的文件中读入一个长度为n-1的字符串,并在最后加一个‘\0’字符,然后把这n个字符放到字符组str中

       fputs(str,fp)把str所指向的字符串写到文件指针变量fp所指向的文件中,输出成功

用格式化的方式读写文件(读写对象不是终端而是文件,printf读写对象是终端):

   fprintf(文件指针,格式字符串,输出表列);

   fscanf(文件指针,格式字符串,输入表列);转换费时

用二进制方式向文件读写一组数据

  fread(buffer,size,count,fp);从文件中读一个数据块

  fwrite(buffer,size,count,fp);(buffer是一个地址存放从文件读入的数据的存储区的地址,size要写的字节数,count,要读写多少数据项,fp则是FILE类指针)

执行成功返回count的值

随机读写数据文件:可以对任何位置上的数据进行访问

文件位置标记及其定位

     1.文件位置标记

  用来指示接下来要读写的下一个字符的位置

  2.文件位置标记的定位

  强制使文件位置标记指向人们指定的位置:(1)用rewind函数是文件位置标记指向文件开头,无返回值(2)fseek函数改变文件位置标记fseek(文件类型指针,位移量,起始点)(起始点用0、1、2代替,0代表文件开始位置,1为当前位置,2为文件末尾位置,位移量应是long型数据,如50L)(3)用ftell函数测定文件位置标记的当前位置,如果函数出错,则返回-1L

文件读写的出错检测:

ferror函数(ferror(fp),如果返回值为0(表示未出错,返回非零值表示出错))

clearerr函数(clearerr(fp)使文件错误标志和文件结束标志(即ferror(fp))置0)

posted @ 2018-03-16 12:22  尘封的夕阳  阅读(121)  评论(0编辑  收藏  举报