Linux中如何获取文件大小
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Linux中如何获取文件大小,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码实现:unsigned long get_file_siz
千家信息网最后更新 2025年12月01日Linux中如何获取文件大小
Linux中如何获取文件大小,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
代码实现:
unsigned long get_file_size(const char *filename) { unsigned long size; FILE* fp = fopen( filename, "rb" ); if(fp==NULL) { printf("ERROR: Open file %s failed.\n", filename); return 0; } fseek( fp, SEEK_SET, SEEK_END ); size=ftell(fp); fclose(fp); return size; }没有想到的是,在程序执行后发现有的文件能正确的获取大小,而有的文件则不能正确的获取到文件大小,检查了代码,也没有发现有什么不对的地方。但是在这过程中发现了一个问题,就是能正确获取大小的文件都是相对比较小的文件,而出现错误的都是很大的文件。于是想到会不会是因为标准 C文件操作函数对超过一定大小的文件不支持所造成的呢,于是Google了一下,没想到猜测是正确的,标准C的文件操作函数不支持对超过2G的文件读取。
问题找到了,看来只有换一种方法来实现了,因为平时很少用到标准C的一些函数,所以,又只有求助于Google了,在看了网上不少的参考文章之后,发现调用stat函数可以正确的得到超大文件的状态信息(当然包括文件大小),于是最终实现了如下的代码:
unsigned long get_file_size(const char *filename) { struct stat buf; if(stat(filename, &buf)<0) { return 0; } return (unsigned long)buf.st_size; }从写这么一个小小功能的函数可以看出,平时多积累一些计算机方面的知识真的是很重要的,同时对代码的全面测试也是相当重要的,否则,看着很正确的代码可能在某些情况下会给你带来意想不到的麻烦。
看完上述内容,你们掌握Linux中如何获取文件大小的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
文件
大小
代码
函数
问题
方法
标准
重要
内容
更多
支持
不对
很大
意想不到
束手无策
为此
没想到
信息
功能
原因
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
c程序远程数据库读写
2018年工控网络安全事件
网络安全模式下可以玩吃饭吗
永宁县软件开发技术找哪家
网络技术公司社会实践
亦辉网络技术有限公司
上海工厂软件开发平台
曲靖妙推网络技术有限公司
香港服务器租赁贵吗
直连服务器管理口
备份域控服务器
青铜峡进销存管理软件开发
电脑调用手机摄像头软件开发
单位网络安全保障工作情况范文
交互式软件开发
rpc服务器导致无法开机
mysql数据库下载
计算机网络技术的专业认识
代理服务器怎么使用
计算机网络技术就业方向作文
dell r340服务器功耗
有名软件开发工资一般多少
警车声音软件开发
新华三服务器故障
警犬视频软件开发
计算机数据库设计证书含金量
银行储蓄管理系统数据库
山东省互联网网络安全威胁治理
数据库 零基础
计算机网络技术专升本多少分