查看某块磁盘的内存使用率,以/home为例
代码:
#include <sys/stat.h>
#include <sys/vfs.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int main(){
double diskrate=0.0;
struct statfs sf;
if(0 == statfs("/home",&sf)){
diskrate=((sf.f_blocks-sf.f_bfree)*100.0/sf.f_blocks);
}else{
cout<<"error:"<<endl;
}
cout<<"diskrate:"<<diskrate<<endl;
return 0;
}
编译执行结果:
使用linux的df系统命令作比较: