今天边肖就和大家分享一个在C语言中使用fstat函数获取文件大小的方法。边肖觉得内容挺好的,现在分享给大家,很有参考价值。有需要的朋友一起看看吧。
在获取文件大小之前,我们总是使用dead方法,打开一个文件,然后lseek,read来获取文件大小,这样确实效率很低,而且可能会粗心出错。
碰巧在Android的源代码里看到了获取文件大小的功能,如下例。使用函数fstat可以避免这些问题。
百度:http://baike.baidu.com/link? URL=wh 6 mszklutc x8 p 6 yzujb 3 yohallvao 68 sqiipr 6 ICJ 1 yxyjxhftdvxfzjj 4 ylp ZZ 8 idskhkyf 9 each O4 arha
原型:intfstat (intfildes,struct stat * buf);
参数描述:
Fstat()用于将参数fildes指示的文件状态复制到参数buf (struct stat)指示的结构中。
写一个例子:
#包含stdio.h
#包含stdlib.h
#包含fcntl.h
#包含系统/统计信息
#包括unistd.h
//获取文件的大小
int获取文件大小(int f)
{
结构统计;
fstat(f,ST);
返回st.st _ size
}
int main(void)
{
int fd=open('test.py ',O _ RDWR);
int大小;
如果(fd 0)
{
printf(‘公开交易会!\ n’);
return-1;
}
size=get _ file _ size(FD);
Printf('size:%d bytes-%.2fk \ n ',size,(float)size/1024);
返回0;
}
总结
这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。