c语言中的文件定位函数定义,C语言中文件定位函数总结

C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos。

先来讲前两个函数,这是最基本的定位函数:

fseek函数:能把文件指针移动到文件任何位置,其原型是:int fseek(FILE *fp, long offset, int fromwhere);

参数解释:第一个参数为要进行定位的文件的指针;第二个参数为定位的偏移量,一个有符号的long类型值,正数表示文件指针向后偏移,负数表示文件指针向前偏移,0 表示不进行偏移;第三个参数表示文件指针从哪个位置开始偏移,有三个值可选,SEEK_SET & SEEK_CUR & SEEK_END,分别表示文件第一个字节(即第零个位置),文件指针当前所指字节(即当前位置)和文件EOF位置。

返回值:返回 0 表示操作成功,返回非 0 表示操作失败。

其他注意:该函数不能定位到第一个字节之前的位置,如果尝试这样操作会导致fseek返回 -1,即操作失败,比如这样的代码“j = fseek(fp, -4L, SEEK_SET );”,其中 j 值就是 -1;但是,该函数能定位到EOF位置之后的位置,并且不报错,即使这样是没有意义的,比如这样的代码“j = fseek(fp, 4L, SEEK_END)”,返回值 j 是 0,并且此时 ftell(fp) 返回值是SEEK_END + 4。

ftell函数:能返回当前文件指针所在的位置(文件的第一个字节所在位置是零),其原型是:long ftell(FILE *fp)

你可能感兴趣的:(c语言中的文件定位函数定义)