在文件IO的编程过程中,经常会遇到如何求取文件长度的问题,这里将工积累的一些常用方法写出来与大家分享。

第一类:lseek/fseek

1、lseek

int GetFileSize(char *_pName)
{int iFd = -1;int iLen = 0;if (_pName == NULL){return -1;}iFd = open(_pName, O_RDONLY);if (iFd >= 0){iLen = lseek(iFd, 0, SEEK_END); close(iFd);return iLen;}return iFd;
}

2、fseek+ftell:特别注意文件指针的位置

long GetFileSize(char *_pName)
{ long length;FILE *fp;fp = fopen("_pName ",rw);if (fp == NULL)return -1;fseek(fp, 0L, SEEK_END); length = ftell(fp);return length;
}

第二类:stat、fstat函数族

函数原型:

int stat(char *filename,struct stat *s);int fstat(int fd,struct stat *s);

代码片段:以stat为例,fstat只是第一个参数用文件描述符。

#include <unstd.h>#include <sys/stat.h>int GetFileLen(char *_pName){struct stat st;stat(_pName, &st);return st.st_size;
}

Linux计算求取文件长度相关推荐

  1. windows/linux计算文件 MD5值

    windows 计算文件 MD5值 cmd下输入: certutil -hashfile filename MD5 如: certutil -hashfile C:\1.txt MD5 //打印到屏幕 ...

  2. ffmpeg文档08-表达式计算/求值

    8 表达式计算/求值 在计算表达式时,ffmpeg通过libavutil/eval.h接口调用内部计算器进行计算. 表达式可以包含一元运算符.运算符.常数和函数 两个表达式expr1和expr2可以组 ...

  3. Linux仿真运算集群,fluent DPM Linux计算集群运行报错 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    计算对象是一个三维圆柱在空间中做简谐运动,计算域顶面有离散相入射. DPM设置为面入射,按rosin预设函数分布,unsteady particle track, 按0.001s的粒子时间步计算(计算 ...

  4. C语言编程b a化简,C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形......

    导航:网站首页 > C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形... C语言编程,已知三角形的三边长a,b,c,计算求三角 ...

  5. Linux计算时间间隔

    1: Linux计算时间间隔: 2: 3: 4: #include<time.h> 5: #include<stdio.h> 6: 7: /* 8: int gettimeof ...

  6. matlab潮流计算求节点自导纳,matlab潮流计算.docx

    matlab潮流计算.docx 附录1使用牛顿拉夫逊法进行潮流计算的Matlab程序代码%牛拉法计算潮流程序%--------------------------------------------- ...

  7. Matlab:Matlab编程语言应用之数学计算(求极限/渐近线求导数常微分方程求解求微分方程组的解求临界阻尼系数的解)的简介、案例实现之详细攻略

    Matlab:Matlab编程语言应用之数学计算(求极限/渐近线&求导数&常微分方程求解&求微分方程组的解&求临界阻尼系数的解)的简介.案例实现之详细攻略 目录 三.极 ...

  8. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

  9. 算法笔记_044:表达式计算求值(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值.其中除表示整除. 输入格式 输入一行,包含一个表达式. 输出格式 输出这个表达式的 ...

最新文章

  1. LeetCode-剑指 Offer 04. 二维数组中的查找
  2. 硅谷增长的新指标——超级用户微笑曲线
  3. 《庆余年》是爆了,但想打高分的阅文仍然没有公式可套
  4. ubuntu18.04安装openresty
  5. Tensorflow 2 循环神经网络 GRU 豆瓣IMDB影评数据集训练模型
  6. 使用阿里云搭建微信公众号管理系统
  7. python 执行shellcode_简述获取shellcode的几种方式
  8. babel-loader jsx SyntaxError:意外令牌[重复]
  9. 【剑指 offer】(二十九)—— 数组中出现次数超过一半的数字(及该数字出现的次数)
  10. C#编写的一个SFTP工具类
  11. Python中写入文件操作
  12. java对接短信接口
  13. 生活计算机的模拟环境中,惊人发现:人类生活在高等文明创建的模拟环境中!...
  14. ZOOM视频会议总是很卡连接不上
  15. ubuntu下运行.exe程序
  16. ios图锁HQ应用项目源码
  17. 官网中国传媒大学计算机与网络安全学院,曹建香 - 中国传媒大学 - 计算机与网络空间安全学院...
  18. Selenium一些特殊情况的处理:失去焦点、点击不生效、长页面处理、先触发事件才能动态加载的元素、日期输入
  19. js前端下载文件,利用download.js或者,纯js下载文件,图片,视频,pdf等
  20. Zilliqa 的设计构思 第3部分:使共识更有效

热门文章

  1. 万彩录屏服务器不稳定,万彩录屏 云服务器
  2. scrapy模拟模拟点击_模拟大流行
  3. pandas基础操作
  4. spring中@Inject和@Autowired的区别?分别在什么条件下使用呢?
  5. 783. 二叉搜索树节点最小距离(dfs)
  6. css背景图片添加url_CSS背景图片–如何向您的Div添加图片URL
  7. github 建立_建立在线社区:GitHub教师
  8. python 装饰器装饰类_5分钟的Python装饰器指南
  9. c# WebApi之接口返回类型详解
  10. xp和win7安装telnet服务