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