C++判断硬盘剩余space

C++ Determine remaining space of hard drive

我在 visual studio 2010 年使用 C++ 进行编程,我想知道是否有一种简单的方法可以以 MB 为单位获取剩余的 space 硬盘驱动器。我正在制作一个记录图像的程序,我希望能够看到剩余的 space。我注意到 visual basic 有以下内容:

Dim cdrive As System.IO.DriveInfo
cdrive = My.Computer.FileSystem.GetDriveInfo("C:\")
MsgBox(cdrive.TotalSize)

C++中有这样的东西吗?谢谢

编辑 1: 感谢大家的回复,我刚刚完成工作,所以明天我会看看你的建议

GetFreeDiskspaceEx就是你要叫的。

示例代码here.

有 2 个函数可以做到这一点

GetDiskFreeSpace

GetDiskFreeSpaceEx

CString clString;
ULARGE_INTEGER ulFree;
ULARGE_INTEGER ulTotal;

GetDiskFreeSpaceEx ("c:\", &ulFree, &ulTotal, NULL);
clString.Format ("%f", (double)(signed __int64)(ulFree.QuadPart) / (1024 * 1024 * 1024));
clString = clString.Mid (0, clString.Find ('.') + 2) + " Gb";