Drive Information
Use the statfs function to query drive information.
#include <sys/vfs.h>
struct statfs diskInfo;
statfs("/", &diskInfo);
unsigned long long totalBlocks = diskInfo.f_bsize;
unsigned long long totalSize = totalBlocks * diskInfo.f_blocks;
size_t mbTotalsize = totalSize>>20;
unsigned long long freeDisk = diskInfo.f_bfree*totalBlocks;
size_t mbFreedisk = freeDisk>>20;
printf ("/ total=%dMB, free=%dMB\n", mbTotalsize, mbFreedisk);
Result:
/ total=13763MB, free=3246MB
Parent topic: C/C++