【C语言】获取文件的大小

fseek()函数:
  原型:intfseek(FILE *stream, long offset, int fromwhere);
  参数:
 
 stream: 第一个参数stream为文件指针
 offset : 第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
 fromwhere: 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CURSEEK_ENDSEEK_SET
 SEEK_SET: 文件开头
 SEEK_CUR: 当前位置
 SEEK_END: 文件结尾
 
 其中SEEK_SET,SEEK_CURSEEK_END依次为0,12.
  例fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
   fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
   fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。
   
ftell()函数:
 原型: longftell(FILE *stream);
 功能:返回当前文件位置,也就是说返回FILE指针当前位置。(也就是偏离文件首字符个数)
int file_size(char* filename)  
{  
    FILE *fp=fopen(filename,"r");  
    if(!fp) return -1;  
    fseek(fp,0L,SEEK_END);  
    int size=ftell(fp);  
    fclose(fp);  
      
    return size;  
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值