WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Свободное пространство на диске.

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Свободное пространство на диске.
Dung опубликован 08-10-2001 21:47 MSK   Click Here to See the Profile for Dung   Click Here to Email Dung  
Тут непонятки с функцией GetDiskFreeSpace или GetDiskFreeSpaceEx. Такая вещь - ведь объём диска может быть больше 4гб т.е. это не влезет в стандартный DWORD

и соответственно всё это дело возвращается в структуру типа _ULARGE_INTEGER которая вообще_непонятно_что_из_себя_представляет. Как из этой структуры мне

получить нормальное значение размера - в DWORD оно не влезет... значит куда его сувать? Я в своей проге подсчитываю занятое место при проходе по всем папкам

путём занесения значения размера в double. Ну так каким образом мне получить размер и занести его в тот же double?

Heromantor опубликован 08-10-2001 23:53 MSK     Click Here to See the Profile for Heromantor  Click Here to Email Heromantor     
А разве GetDiskFreeSpace имеет не такое описание???? По моему сюда влезет больше чем 4Гб...

BOOL GetDiskFreeSpace(

LPCTSTR lpRootPathName, // address of root path
LPDWORD lpSectorsPerCluster, // address of sectors per cluster
LPDWORD lpBytesPerSector, // address of bytes per sector
LPDWORD lpNumberOfFreeClusters, // address of number of free clusters
LPDWORD lpTotalNumberOfClusters // address of total number of clusters
);

Dung опубликован 09-10-2001 00:27 MSK     Click Here to See the Profile for Dung  Click Here to Email Dung     
Ну а как это всё в нормальный вид привести???
Flex Ferrum опубликован 09-10-2001 10:16 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Взять все и перемножить:
FreeSpace = BytesPerSector * SectorsPerCluster * NumberOfFreeClusters;

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.