函数 fseek() 使用说明

功能:重定位流(数据流/文件)上的文件内部位置指针,把文件指针指向文件的开头。
注:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。

头文件:#include <stdio.h>

用 法:int fseek(FILE *stream, long offset, int fromwhere);
      第一个参数stream为文件指针
      第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移
      第三个参数fromwhere设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、SEEK_END 或 SEEK_SET
      0 / SEEK_SET:文件开头
      1 / SEEK_CUR:当前位置
      2 / SEEK_END:文件结尾
简言之:
      fseek(fp, 100L, 0); 把fp指针移动到离文件开头100字节处;
      fseek(fp, 100L, 1); 把fp指针移动到离文件当前位置100字节处;
      fseek(fp, 100L, 2); 把fp指针退回到离文件结尾100字节处。

描 述:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值:成功,返回0,失败返回-1,并设置error的值,可以用perror()函数输出错误。

注:fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。
  

猜你喜欢

转载自blog.csdn.net/tsinghua666/article/details/80486353