我正在构建应用程序,我需要获取HDD大小: 我正在Mac OS上工作。我已经尝试过了:
#include <sys/param.h>
#include <sys/mount.h>
float MonitoringWorker::getHDDSize()
{
struct statfs statf;
statfs(".", &statf);
std::cout << "statf.f_bsize = " << statf.f_bsize << std::endl;
std::cout << "statf.f_blocks = " << statf.f_blocks << std::endl;
std::cout << "statf.f_bavail = " << statf.f_bavail << std::endl;
std::cout << "statf.f_bfree = "<< statf.f_bfree << std::endl;
std::cout << "GB = "<< ((statf.f_bsize * statf.f_blocks) / kBytesInGB)<< std::endl;
return 0;
}
我看到GB的结果是465。但是检查“系统信息”告诉我我有500GB 我究竟做错了什么?这是获取这些数字的最佳方法吗?
注意:我在Mac OS上使用C ++,不能使用Objective-C
预先感谢