获取硬盘的簇大小(通过代码)

lar*_*ars 9 c file-io winapi ntfs

我需要通过C或C++找到用户硬盘的簇大小.硬盘使用NTFS(虽然我很高兴知道它是如何在其他文件系统上完成的).

我想我需要的是win32 API调用的一些组合,但我不知道哪个.

例如,在Windows控制台中键入"fsutil fsinfo ntfsinfo c:"会为您提供"每个群集的字节数",这就是我所需要的.(虽然出于显而易见的原因,我不想运行该命令并解析它的输出.)

Nic*_*kis 14

使用GetDiskFreeSpace

BOOL WINAPI GetDiskFreeSpace(
  __in   LPCTSTR lpRootPathName,
  __out  LPDWORD lpSectorsPerCluster, // <--
  __out  LPDWORD lpBytesPerSector, // <--
  __out  LPDWORD lpNumberOfFreeClusters,
  __out  LPDWORD lpTotalNumberOfClusters
);
Run Code Online (Sandbox Code Playgroud)