芯片资讯
热点资讯
- ABLIC艾普凌科S-8351B55MA-J5OT2G芯片IC REG BOOST 5.5V 300MA SOT23-3
- ABLIC的生产工艺和质量控制体系如何?
- ABLIC艾普凌科S-85S0AB10-I6T1U芯片IC REG BUCK 1V 50MA SNT-6A的技术和方案应
- ABLIC艾普凌科S-19933BA-A8T1U7芯片IC REG BUCK ADJ 600MA HSNT8-A的技术和
- FreeRTOS内存管理实现
- 苹果自动驾驶汽车项目降级至2级+,发布时间推迟至2028年
- ABLIC艾普凌科S-8354A33UA-JQST2G芯片IC REG BOOST 3.3V 300MA SOT89-3
- ABLIC艾普凌科S-85S1PC08-I8T1U芯片IC REG BUCK 0.8V 200MA SNT-8A的技术和
- ABLIC艾普凌科S-882139AMH-M2OTFU芯片IC REG CHARGE PUMP 3.9V SOT23-6
- ABLIC艾普凌科S-1011E90-M6T1U4芯片IC SUPERVISOR 1 CHANNEL SOT23-6的技
你的位置:Seiko(精工SII)艾普凌科ABLIC无源晶振IC电源芯片全系列-亿配芯城 > 芯片资讯 > C语言获取文件长度的两种方法
C语言获取文件长度的两种方法
- 发布日期:2024-01-09 11:29 点击次数:124
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;
}
审核编辑:刘清
相关资讯
