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