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

标签 c winapi file-io ntfs

我需要通过 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
);

关于c - 获取硬盘的簇大小(通过代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073646/

相关文章:

javascript - 在 Firefox 中读取和写入大量数据到用户的本地存储

C程序设计语言

c - EOF 在这方面到底是如何工作的呢?

c# - 如何以编程方式获取当前音频电平?

C++ - 我使用 fin.ignore() 不正确吗?

file-io - Racket 中的文件输出有最大长度吗?

C:使用结构比较文件中的 2 个字符串

c - 使用字符指针数组存储多个char数组

c# - 调用 'ShutdownBlockReasonCreate'函数不能阻止用户关闭系统

c - 全局使用WH_MOUSE,无需DLL