长时间没用这几个函数了,今天用到,有些陌生,回忆后记录一下加深印象。
1、int fseek(FILE *stream, long offset, int fromwhere);
参数:stream为文件打开后的流指针(FILE*);
offset为偏移量(正数为从文件头向文件尾的偏移方向,负数相反,0不偏移);
fromwhere为指针定位的位置(*SEEK_SET: 文件开头,SEEK_CUR: 当前位置,SEEK_END: 文件结尾);其中 SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
实例:
fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。
2、long ftell(FILE *stream);
作用:函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数;
参数:流指针(FILE*)
实例:
fseek(fp, 0L,SEEK_END); //将文件的当前位置移到文件的末尾
len =ftell(fp)+1; //调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数
3、 void rewind(FILE *stream);
作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头
参数:流指针(FILE*)
实例:rewind( cfptr );//将cfptr 指向文件开头