文件的定位与出错检查

简介: 1,rewind函数 函数调用形式: rewind(文件指针); 功能:使位置指针重新返回到文件的开头, 2,fseek函数 调用形式:fseek(文件指针,位移量,起始点); 起始点:用0,1,2或其对应的名字,SEEK_SET,SEEK_CUR,SEEK_END代替,分别代表文件的开始,文件当前位置,文件末尾.

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]);

目录
相关文章
解决删除文件时出现“该项目不在XX中,请确认该项目的位置然后重试”的提示
近期在删除文件夹的时候,出现了这个“该项目不在XX中,请确认该项目的位置然后重试”的提示,实际上这个文件(夹)就在那里,死活都删不掉,win10系统重启之后删除都不行的
8042 0
|
XML Java Android开发
Androistudio lint检查去除无效代码、无效资源
Androistudio lint检查去除无效代码、无效资源
323 0
|
安全 API Android开发
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
401 0
教你如何高效的检查APK中使用敏感权限的地方以及检查某系统方法被调用的地方
关于 屏蔽Qt未使用变量报警错误 的解决方法
关于 屏蔽Qt未使用变量报警错误 的解决方法
关于 屏蔽Qt未使用变量报警错误 的解决方法
|
小程序 Android开发
排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时
APP 启动 mPaaS 小程序弹出 toast 信息:"应用更新错误"。
3572 0
排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时
|
SQL 资源调度 关系型数据库