PDA

Visualizza versione completa : Scandire Hard Disk


GiulioCesare
11-02-2004, 17.33.15
Salve ragazzi avrei bisogno di fare un programma in C++ che scandisca tutto
l'hard disk e mi dica quanto spazio ho libero e quanto occupato, cosa devo fare
per accedere direttamente al mio hard disk? Grazie a
chi vorr rispondermi :)

LoryOne
12-02-2004, 17.15.07
Tu puoi percorrere due strade:

1- La prima quella di interfacciarti alle API di Windows ed in due passaggi raggiungere lo scopo.
(Non c' bisogno di scandire l'intero Hard Disk per conoscere lo spazio libero)

2- La seconda quella di utilizzare le funzioni di accesso ai files di C++ implementando la solita ricorsione.
Poich in questo caso spiegare a parole il procedimento parecchio laborioso, ti consiglio di cercare in Internet un esempio, compilarlo e capire cosa fa.

In poche parole (non sar sicuramente chiaro ma a grandi linee cos che si procede) si tratta di:
- Ricercare tutti i files in una data certella che solitamente la root.
- Tra questi files ce n' una o pi di una che non un file ma una cartella. (Il suo attributo la identifica)
- Ricercare nella prima cartella quanti files e quante cartelle ci sono.
- Aprire la nuova cartella e ripetere il tutto fino ad esaurimento files e sottocartelle.

Cucciolo
19-02-2004, 21.20.57
nn so se ti potrebbe essere utile xche e' fatto in vb


Here is an example of how to find out how much free space a drive has:

Dim SectorsPerCluster&
Dim BytesPerSector&
Dim NumberOfFreeClusters&
Dim TotalNumberOfClusters&
Dim FreeBytes&
dummy& = GetDiskFreeSpace("c:\", SectorsPerCluster, _
BytesPerSector, NumberOfFreeClusters, TotalNumberOfClusters)
FreeBytes = NumberOfFreeClusters * SectorsPerCluster * _
BytesPerSector

The Long FreeBytes contains the number of free bytes on the drive.