c语言fseek函数的总结

头文件:#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%ldbytes\n",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。

  • 15
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值