芯片资讯
热点资讯
- ABLIC艾普凌科S-8351B55MA-J5OT2G芯片IC REG BOOST 5.5V 300MA SOT23-3
- ABLIC艾普凌科S-85S0AB10-I6T1U芯片IC REG BUCK 1V 50MA SNT-6A的技术和方案应
- 苹果自动驾驶汽车项目降级至2级+,发布时间推迟至2028年
- ABLIC艾普凌科S-882139AMH-M2OTFU芯片IC REG CHARGE PUMP 3.9V SOT23-6
- ABLIC艾普凌科S-8354A33UA-JQST2G芯片IC REG BOOST 3.3V 300MA SOT89-3
- ABLIC艾普凌科S-8351A47MC-J3GT2U芯片IC REG BOOST 4.7V 300MA SOT23-5
- ABLIC艾普凌科S-19933BA-A8T1U7芯片IC REG BUCK ADJ 600MA HSNT8-A的技术和
- IPC平台商的市场格局
- ABLIC艾普凌科S-85S0AB08-I6T1U芯片IC REG BUCK 0.8V 50MA SNT-6A的技术和方
- ABLIC艾普凌科S-8353A30MA-IQPT2G芯片IC REG BOOST 3V 300MA SOT23-3的技
你的位置:Seiko(精工SII)艾普凌科ABLIC无源晶振IC电源芯片全系列-亿配芯城 > 芯片资讯 > C语言获取文件长度的两种方法
C语言获取文件长度的两种方法
- 发布日期:2024-01-09 11:29 点击次数:111
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操作系统下,Seiko(精工SII)艾普凌科ABLIC无源晶振IC电源芯片 可以使用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; }审核编辑:刘清
相关资讯