fseek函数以及rewind【lom599乐百家手机】

 百家乐概况     |      2020-03-24 05:08

通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新从某处起,再读一次.

int fseek( FILE *stream, long offset, int origin );

int fseek(FILE *stream, long offset, int fromwhere);

第一个参数stream为文件指针

fseek 用于二进制方式打开的文件,移动文件读写指针位置.
fseek(in,-1L,1);   -- 文件流in, 零点为当前指针位置,SEEK_CUR 就是 1,  -1L -- 文件指针回退1个字节

第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移

int fseek( FILE *stream, long offset, int origin );

第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

  第一个参数stream为文件指针

SEEK_SET: 文件开头

  第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移

SEEK_CUR: 当前位置

  第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

SEEK_END: 文件结尾

  SEEK_SET: 文件开头

其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.

  SEEK_CUR: 当前位置

简言之:

  SEEK_END: 文件结尾

fseek(fp,100L,0);把stream指针移动到离文件开头100字节处;

  其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.

fseek(fp,100L,1);把stream指针移动到离文件当前位置100字节处;