1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <windows.h>
int main(void) {
assert(sizeof(unsigned long long) == 8);
ULARGE_INTEGER FreeBytesAvailable, TotalNumberOfBytes, TotalNumberOfFreeBytes;
GetDiskFreeSpaceEx("D:", &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes);
printf("%I64d %I64d %I64d\n", FreeBytesAvailable.QuadPart, TotalNumberOfBytes.QuadPart, TotalNumberOfFreeBytes.QuadPart);
unsigned long FreeBytesAvailableM = FreeBytesAvailable.QuadPart / (1024 * 1024);
unsigned long TotalNumberOfBytesM = TotalNumberOfBytes.QuadPart / (1024 * 1024);
unsigned long TotalNumberOfFreeBytesM = TotalNumberOfFreeBytes.QuadPart / (1024 * 1024);
printf("%lu Mo %lu Mo %lu Mo\n", FreeBytesAvailableM, TotalNumberOfBytesM, TotalNumberOfFreeBytesM);
float FreeBytesAvailableG = FreeBytesAvailableM / 1024.0;
float TotalNumberOfBytesG = TotalNumberOfBytesM / 1024.0;
float TotalNumberOfFreeBytesG = TotalNumberOfFreeBytesM / 1024.0;
printf("%.2f Go %.2f Go %.2f Go\n", FreeBytesAvailableG, TotalNumberOfBytesG, TotalNumberOfFreeBytesG);
return EXIT_SUCCESS;
} |
Partager