文件的随机读写

文件的随机读写

前两篇介绍的对文件的读写都是顺序读写,即读写文件只能从头开始,顺序读写各个数据。但在实际问题中常要求只读写文件中某一指定的部分。为了解决这个问题,可移动文件内部的位置指针到需要读写的位置,再进行读写,这种读写称为随机读写。
实现随机读写的关键时要按要求移动位置指针,这称为文件的定位。

文件定位

移动文件内部位置指针的函数主要有两个,即rewind 函数和fseek函数。
rewind 函数
调用形式为:
rewind(文件指针);
它的功能时把文件内部的位置指针移到文件首。
fseek函数
用来移动文件内部位置指针,其调用形式为:
fseek(文件指针,位移量,起始点);
其中:
“文件指针”指向被移动的文件。
“位移量”表示移动的字节数,要求位移量时long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求贾后缀“L”。
“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。在这里插入图片描述
例如:fseek(fp,100L,0);
其意义时把位置指针移到离文件首100个字节处。
说明一下,fseek函数一般用于二进制文件,在文本文件中由于要进行转换,故往往计算的位置会发生错误。

文件检测函数

文件结束检测函数feof函数

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

读写文件出错检测函数ferror函数

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

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

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

文件小结

  1. C系统把文件当作一个“流”,按字节进行处理。
  2. C文件按编码方式分为二进制文件和ASCII文件。
  3. C语言中,用文件指针标识文件,当一个文件被打开时,可取得改文件指针。
  4. 文件在读写之前必须打开,读写结束必须关闭。
  5. 文件可按只读、只写、读写、追加四种操作方式打开,同时还必须指定文件的类型是二进制文件还是文本文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值