СообЧа > База Знаний > Программирование > C, С++

Вопрос

Как с помощью СИ спросить у виндоса сколько места свободно, а сколько Нет?

Ответ

Есть две функции:

GetDiskFreeSpace и GetDiskFreeSpaceEx

первая выдает всякие там Кластеры,Сектора, а оно надо???(ну может кому и надо:)

Поэтому:

GetDiskFreeSpaceEx(CTSTR *DirectoryName, // directory name
ULARGE_INTEGER *lpFreeBytesAvailable, // bytes available to caller
ULARGE_INTEGER *lpTotalNumberOfBytes, // bytes on disk
ULARGE_INTEGER *lpTotalNumberOfFreeBytes // free bytes on disk
)
lpDirectoryName — имя директории, или сетевой путь, где смотрится
свободное место.( конечно, место смотрится на диске, где лежит директория)
lpFreeBytesAvailable — свободное место для того, кто запрашивает(если
введены квоты в Вин2000\ХР).
lpTotalNumberOfBytes — свободное место на диске.
lpTotalNumberOfFreeBytes — все место на диске.

Пример:

#include<windows.h>
#include<stdio.h>
void main(void)
{
ULARGE_INTEGER FreeBytes,TotalBytes,FreeBytesToCaller;
GetDiskFreeSpaceEx("C:\\",&FreeBytesToCaller,&TotalBytes,&FreeBytes);
printf("%I64i\n%I64i\n%I64i\n",TotalBytes,FreeBytesToCaller,FreeBytes);
};

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация