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

#include <sys/vfs.h>
#include <stdio.h>

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% 
来自的你,很高兴你能看到这儿。若本文对你有所用处,或者内容有什么不足之处,敬请毫不犹豫给个回复。谢谢!