文件的定位与出错检查

1,rewind函数

函数调用形式:
rewind(文件指针);
功能:使位置指针重新返回到文件的开头,

2,fseek函数

调用形式:fseek(文件指针,位移量,起始点);
起始点:用0,1,2或其对应的名字,SEEK_SET,SEEK_CUR,SEEK_END代替,分别代表文件的开始,文件当前位置,文件末尾.

位移量;指以起始点为基点,向前(-),或向后的移动的字节数.ANSIC标准规定在数字末尾加一个字母L,表示long

功能:把文件的读写位置指针,移到指定位置,

fseek(fp,128L,SEEK_SET);
把文件位置指针移到到离文件头128字节处,
SEEK_SET指文件开始,SEEK_CUR指文件当前位置,SEEK_END指文件末尾.
fseek(fp,-10L,2);把文件位置指针移到到离文件尾巴10字节处,
0,1,2分别代表SEEK_SET起始,SEEK_CUR当前,SEEK_END末尾;
fseek把文件读写位置指针移到指定位置,
rewind把位置指针重新移到到文件的开始位置.

默认情况下:位移量中,整数是指向后退(基点是文件的当前位置指针)

-是向前移到;

文件定位与出错检查;

fseek位置指针一般用于二进制文件,

4,ftell函数;

ftell函数调用形式
ftell(文件指针);
返回文件位置指针当前值;
eg:pos=ftell(fp);
获取fp指向文件的当前读写位置,并将此值赋给变量pos;

5,ferror函数

ferro()函数,用来确定文件操作系统中是否出错,
其函数原型是,
int ferror(FILE *fp);
如果ferror()返回值为0,则表示此前的文件操作成功,负责若返回一个非零值,则表示最近一次文件操作出错,
由于对文件的操作每次I/O操作都会形成新的出错码,因此每次文件操作后应立即调用ferror()函数查看此次操作是否成功,否则信息会被覆盖;
if(ferror(fp))
{
  printf("file can't I/O \n");
  fclose(fp);
  exit(0);
}

6,clearer函数

clearer函数原型
void clearer(FILE *fp);
功能是:清除文件结束标志或文件出错标志,本函数没有返回值,设置为0;

7,exit函数

当文件出错的时候,为了避免数据丢失,正常返回操作系统,可以调用过程控制函数,exit关闭文件,终止程序的执行

exit([status]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值