statfs获取硬盘信息

statfs是一个很有用的linux库函数。在它的帮助下，我们可以很容易得到硬盘信息啥的。以前全是调用command命令，弱爆了。如果用 man 2 statfs 命令可以得到很多其使用方法。本post就简单写个demo表示下存在感

#include
#include

int main()
{
struct statfs r;
printf("%s\n",statfs("/boot",&r)==0?"success":"error");
printf("Total:%ld ; Available:%ld ; Use:%2.2f\% \n",
r.f_blocks,r.f_bavail,
((double)(r.f_blocks-r.f_bavail)/r.f_bfree)*100);
return 0;
}

它检查了下/boot这个目录的分区的block容量和已经占用的大小。

编译输出如下:

[yu@argcv-com statfs]$ ./a.out
success
Total:495844 ; Available:362335 ; Use:34.42%