首页 > 编程知识 正文

fseek函数的正确调用,fseek函数的用法

时间:2023-05-06 08:39:11 阅读:203812 作者:3807

头文件:#include <stdio.h>

函数原型:int fseek(FILE *stream, long offset, int fromwhere);

参数:

    stream:指向打开的文件指针。

    offset:以基准点为起始点的偏移量。

    fromwhere:基准点。

返回值:

    成功,返回0;失败返回-1。

其中基准点包括这三个枚举:

    SEEK_SET:文件头。

    SEEK_CUR:当前位置。

    SEEK_END:文件件尾。

作用:重定位流(数据流/文件)的内部位置指针。


描述:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败,则不改变stream指向的位置。

程序实例:

#include <stdio.h>long filesize(FILE*stream);int main(void){ FILE *stream; stream=fopen("MYFILE.TXT","w+"); fprintf(stream,"Thisisatest"); printf("FilesizeofMYFILE.TXTis%ldbytesn",filesize(stream)); fclose(stream); return 0;}long filesize(FILE*stream){ long curpos,length; curpos=ftell(stream); fseek(stream,0L,SEEK_END); length=ftell(stream); fseek(stream,curpos,SEEK_SET); return length;}


其他用法:

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

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

fseek(fp, -100L, 2);把stream指针移动到离文件尾100字节处;

上面函数的0, 1, 2分别为SEEK_SET,SEEK_CUR,SEEK_END。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。