Chinaunix首页 | 论坛 | 博客
  • 博客访问: 187062
  • 博文数量: 38
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 424
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-19 12:41
文章分类

全部博文(38)

文章存档

2017年(2)

2016年(1)

2010年(8)

2009年(27)

我的朋友

分类: LINUX

2010-01-06 19:21:54

获取linux下面系统磁盘剩余空间,可以用statfs.
需要include 头文件#include 
但是这个api只能获取到4G以内的空间,现在市面上流行的硬盘早已超过4G了,所以我采用了long long 来获取.
 
long long    RestFlashSize = 0;
struct statfs buf;
 
statfs("/mnt/userfs", &buf);
RestFlashSize = (long long)buf.f_bavail*(long long)buf.f_bsize;
查看RestFlashSize 用%lld
printf("UserFs FreeSize=%lld\n", RestFlashSize);
 
注意,statfs的buf参数,f_bavail和f_bsize都是long型的.如果不强制转化成unsigned long型是不能获取到超过4G的剩余空间的.
阅读(1735) | 评论(0) | 转发(0) |
0

上一篇:计算百分比

下一篇:函数指针温习

给主人留下些什么吧!~~