GetDiskFreeSpace与GetDiskFreeSpaceEx获取磁盘空间信息总结
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
#define BUFSIZE 1024
int main(){
DWORD lpSectorsPerCluster;
DWORD lpBytesPerSector;
DWORD lpNumberOfFreeClusters;
DWORD lpTotalNumberOfCluster;
GetDiskFreeSpace(TEXT("D:"),
&lpSectorsPerCluster,
&lpBytesPerSector,
&lpNumberOfFreeClusters,
&lpTotalNumberOfCluster);
printf("GetDiskFreeSpace获取的磁盘容量信息\n");
printf("每簇的扇区数量%d\n",lpSectorsPerCluster);
printf("每扇区的字节数%d\n",lpBytesPerSector);
printf("空闲的簇数量%d\n",lpNumberOfFreeClusters);
printf("总簇数%d\n",lpTotalNumberOfCluster);
printf("磁盘容量%I64d\n",(DWORD64)lpTotalNumberOfCluster*(DWORD64)lpSectorsPerCluster*(DWORD64)lpBytesPerSector);
printf("空闲容量%I64d\n\n\n\n",(DWORD64)lpNumberOfFreeClusters*(DWORD64)lpSectorsPerCluster*(DWORD64)lpBytesPerSector);
DWORD lpFreeBytesAvailableToCaller;
DWORD lpTotalNumberOfBytes;
DWORD lpTotalNumberOfFreeBytes;
GetDiskFreeSpaceEx(TEXT("D:"), //获取不准确
(PULARGE_INTEGER)&lpFreeBytesAvailableToCaller,
(PULARGE_INTEGER)&lpTotalNumberOfBytes,
(PULARGE_INTEGER)&lpTotalNumberOfFreeBytes
);
printf("GetDiskFreeSpaceEx获取的磁盘容量信息\n");
printf("总容量字节数%I64d\n",lpTotalNumberOfBytes);
printf("可用空闲字节数%I64d\n",lpFreeBytesAvailableToCaller);
printf("总空闲字节数%I64d\n",lpTotalNumberOfFreeBytes);
system("pause");
return 0;
}
经验之谈....受益匪浅 尽管我是一个学金融的,但是我看了你的以后我自己真的是很有感触,现在的我们仍然在学校学习,不知社会真的是一个什么样的人,而社会对我们又有什么样的要求,我也是一个爱好编程的人,、尽管我是一个初入者,但是你说的对我一样受用,真的很感谢你,在我初入时候给了我指导, 唉、、人勒辈子啊!没有最好啊!只有更好啊! ^很好,最苦最难事的事也许就在于些吧。 ^高手!!! 是呀也许这就是中国教育饿偏差吧?非常感谢上文的作者的经验之谈,对于我们这些还没有出炉的是一笔宝贵的财富!!!! 说得很精彩!~~~~~~~~~ 值得深思 感触很深