Получите размер жесткого диска программно на MacOS, используя C ++ - PullRequest
0 голосов
/ 10 ноября 2018

Я создаю приложение, и мне нужно получить размер жесткого диска: Я работаю на 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;

}

Я вижу, что результат в ГБ равен 465. Однако проверка Системной информации говорит мне, что у меня 500 ГБ Что я делаю неправильно? Это лучший способ получить эти цифры?

Примечание: я использую C ++ в Mac OS, не могу использовать Objective-C

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...