我需要通过C或C++查找用户硬盘驱动器的群集大小。硬盘使用NTFS(尽管我也很高兴知道它在其他文件系统上是如何完成的)。

我想我需要的是win32 API调用的某种组合,但是我不知道是哪一种。

例如,在Windows控制台中键入“fsutil fsinfo ntfsinfo c:”将为您提供“每个群集的字节数”,这正是我所需要的。 (尽管出于明显的原因,我不想运行该命令并解析其输出。)

最佳答案

使用GetDiskFreeSpace

BOOL WINAPI GetDiskFreeSpace(
  __in   LPCTSTR lpRootPathName,
  __out  LPDWORD lpSectorsPerCluster, // <--
  __out  LPDWORD lpBytesPerSector, // <--
  __out  LPDWORD lpNumberOfFreeClusters,
  __out  LPDWORD lpTotalNumberOfClusters
);

10-05 22:16