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;
}
相关推荐
微波仿真几秒前
实现多通道ADC多次测量取平均值,使用DMA
算法
余俊晖9 分钟前
多模态文档理解视觉token剪枝思路
人工智能·算法·剪枝·多模态
仲夏幻境11 分钟前
js利用ajax同步调用如何
开发语言·javascript·ajax
aramae39 分钟前
详细分析平衡树--红黑树(万字长文/图文详解)
开发语言·数据结构·c++·笔记·算法
一百天成为python专家42 分钟前
python爬虫入门(小白五分钟从入门到精通)
开发语言·爬虫·python·opencv·yolo·计算机视觉·正则表达式
再卷也是菜42 分钟前
C++篇(13)计算器实现
c++·算法
Mr YiRan1 小时前
多线程性能优化基础
android·java·开发语言·性能优化
CHEN5_021 小时前
【leetcode100】和为k的子数组(两种解法)
java·数据结构·算法
熊猫钓鱼>_>1 小时前
Java String 性能优化与内存管理:现代开发实战指南
java·开发语言·性能优化
练习时长一年1 小时前
Spring容器的refresh()方法
java·开发语言