Esiste una API:
codice:
#include <windows.h>
// Questa è la sua dichiarazione:
BOOL GetDiskFreeSpace(
LPCTSTR lpRootPathName, // pointer to root path
LPDWORD lpSectorsPerCluster, // pointer to sectors per cluster
LPDWORD lpBytesPerSector, // pointer to bytes per sector
LPDWORD lpNumberOfFreeClusters,
// pointer to number of free clusters
LPDWORD lpTotalNumberOfClusters
// pointer to total number of clusters
);
// Esempio uso
// NON TESTATO
void main() {
LPDWORD settori_per_cluster,byte_per_settore,cluster_liberi,cluster_totali;
::GetDiskFreeSpace("C:\",settori_per_cluster,byte_per_settore,
cluster_liberi, cluster_totali;
cout << "Byte occupati: ";
cout << (*cluster_totali - *cluster_liberi) * settori_per_cluster * byte_per_settore;
}