代码之家  ›  专栏  ›  技术社区  ›  RuLoViC

使用C++在MaCOS上编程实现HDD大小

  •  0
  • RuLoViC  · 技术社区  · 6 年前

    我正在构建一个应用程序,我需要获得硬盘大小:

    #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++,不能使用ObjtoC

    0 回复  |  直到 6 年前