Linux中如何获取文件大小
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,Linux中如何获取文件大小,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码实现:unsigned long get_file_siz
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
南邮网络安全大赛
金山区市场软件开发定制要求
数据库rac启动命令
滨海新区媒体网络技术答疑解惑
医学数据库哪个比较好
医院里面的网络安全嘛
软件开发助理是干什么的
广东省身份证姓名大数据库
数据库考研哪个专业好
远程教育系统的软件开发过程
维普咨询网的数据库
数字化校园软件开发
金蝶软件开发票怎么开
网络安全文明宣讲
服务器在香港安全吗
江苏串口服务器虚拟主机
广州直播软件开发搭建
excelvbs连接数据库
三明电信网络安全
熔火犬牙60数据库
世界三大农业文献数据库简介
网络安全反诈骗情景剧剧本
陕师大网络安全试题
信息与网络技术基础学什么
青浦区金融行业产品销售软件开发
关系型数据库性能比较
dota2服务器游戏
保障网络安全是决定性工作
软件开发动画素材库
河南服务器电源销售价格