C读取文件大小的几种方式

一 标准库 fseek 至尾部 读取ftell返回

c 复制代码
#include <stdio.h>

int main(int argc, char** argv)
{
    char* filename=argv[1];
    FILE* fp = fopen(filename, "r");
    long int size ;
    fseek(fp, 0, SEEK_END);
    size = ftell(fp);
    printf("%s size is %ld\n",filename,size);
    fclose(fp);
    return 0;
}

二 stat读取文件信息

c 复制代码
#include <stdio.h>
#include <sys/stat.h>

int main(int argc, char** argv)
{
    char* filename=argv[1];
    struct stat fstat;
    stat(filename,&fstat);
    printf("%s size is %ld\n",filename,fstat.st_size);
    return 0;
}

三 lseek 和fseek差不多

c 复制代码
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

int main(int argc, char** argv)
{
   char* filename=argv[1];
    int fd = open(argv[1],O_RDONLY);
    long int size = 0;
    size = lseek(fd,0,SEEK_END);
    printf("%s size is %ld\n",filename,size);
    close(fd);
    return 0;
}
相关推荐
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
ZhengEnCi4 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
龙亘川4 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David5 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
Pniubi5 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
hhb_6185 小时前
大模型落地三重优化实战
人工智能·算法·机器学习
云和数据.ChenGuang5 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真6 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法