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;
}
相关推荐
WolfGang00732126 分钟前
代码随想录算法训练营 Day50 | 图论 part08
数据结构·算法·图论
Gary Studio27 分钟前
安卓HAL C++基础-智能指针
开发语言·c++
啧不应该啊40 分钟前
Day1 Python 与 C 的类型区别
c语言·开发语言
cen__y1 小时前
Linux07(信号01)
linux·运维·服务器·c语言·开发语言
xingpanvip1 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
guygg882 小时前
基于遗传算法的双层规划模型求解MATLAB实现
开发语言·matlab
凯瑟琳.奥古斯特2 小时前
SQLAlchemy核心功能解析
开发语言·python·flask
卷Java2 小时前
GPTQ vs AWQ vs GGUF:模型量化工具横向测评
开发语言·windows·python
charlie1145141912 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
aini_lovee2 小时前
多目标粒子群优化(MOPSO)双适应度函数MATLAB实现
人工智能·算法·matlab