C语言中没有直接获取文件长度的接口,但是我们可以使用标准库提供的函数来间接的获取文件长度。这里提供两种方法。
使用C标准库获取文件长度
不论你使用的是哪个操作系统,只要该操作系统支持C标准库,那么就可以通过下述代码获取文件长度:
#include/** *@brief获取文件长度 * *@paramfile_name文件名(包含路径) * *@return-1:获取文件长度失败其他值:文件长度 * *@version *1,2023-08-09,AilsonJack,Createdfunction */ longget_file_len(constchar*file_name) { FILE*filep; longlen; //打开文件 filep=fopen(file_name,"rb"); if(filep==NULL) { printf("fopen%sfailed! ",file_name); return-1; } //移动文件指针到文件末尾 fseek(filep,0,SEEK_END); //获取文件长度 len=ftell(filep); //关闭文件 fclose(filep); returnlen; }
使用C标准库获取文件长度的测试结果如下图所示:
Snipaste_2023-09-23_10-00-18
使用Linux的系统调用获取文件长度
在Linux操作系统下,可以使用stat函数来获取文件信息,其中st_size字段表示文件的长度,代码如下所示:
#include#include /** *@brief获取文件长度 * *@paramfile_name文件名(包含路径) * *@return-1:获取文件长度失败其他值:文件长度 * *@version *1,2023-08-09,AilsonJack,Createdfunction */ longget_file_len(constchar*file_name) { structstatst; //获取文件信息 if(stat(file_name,&st)==-1) { perror("无法获取文件信息"); return-1; } //检查文件类型 if(!S_ISREG(st.st_mode)) { printf("%s不是一个常规文件! ",file_name); return-1; } returnst.st_size; }
审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
180文章
7597浏览量
136115 -
Linux操作系统
+关注
关注
0文章
54浏览量
11027
原文标题:C语言-获取文件长度
文章出处:【微信号:嵌入式那些事,微信公众号:嵌入式那些事】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
STM32操作矩阵键盘的两种方法
目录STM32操作矩阵键盘的两种方法——扫描和中断一、矩阵键盘的结构和原理二、扫描式矩阵键盘的原理和实现三、中断式矩阵键盘的原理和实现四、两种方案优劣STM32操作矩阵键盘的两种方法——扫描和中断
发表于 08-12 06:33
关断检流放大器的两种方法
摘要:本应用笔记介绍了两种关断高边电流检测器的方法,两种方法都可以在下一代便携式多媒体设备中用于电源管理。从而使系统在保证用户功能需求的前提下有效延长电池的使
发表于 05-07 08:48
•23次下载
AODV协议中解决断链问题的两种方法
AODV协议中解决断链问题的两种方法
2.1 备用路由方法由于常规路由协议维护完整的路由表,能得知网络中的拓扑情况,很容易
发表于 03-01 17:31
•1116次阅读
使用jdbc连接上oracle的两种方法
本文主要介绍了使用jdbc连接上oracle的两种方法:1、 使用thin连接,2、 使用oci连接(Oracle Call Interface)
发表于 02-06 10:43
•1699次阅读
51单片机控制NandFlash读写的两种方法
51单片机控制NandFlash读写的两种方法(c语言嵌入式开发视频)-该文档为51单片机控制NandFlash读写的两种方法总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣
发表于 07-30 17:01
•22次下载
STM32操作矩阵键盘的两种方法——扫描和中断
目录STM32操作矩阵键盘的两种方法——扫描和中断一、矩阵键盘的结构和原理二、扫描式矩阵键盘的原理和实现三、中断式矩阵键盘的原理和实现四、两种方案优劣STM32操作矩阵键盘的两种方法——扫描和中断
发表于 11-26 13:36
•36次下载
简述安装打印机驱动的两种方法
安装打印机驱动通常有两种方法,一种是直接使用驱动文件自带的安装程序自动安装,而另一种方法就是我们自己手动进行安装。两种方法各有利弊,日常工作中可以根据实际情况来选择使用哪
hex文件如何查看原c语言代码
是处理器可以直接执行的指令,而 C 语言代码则是人类可读的高级编程语言代码。 然而,如果你想要从 .hex 文件中获取一些有用的信息或者对程
评论