2012-07-05 13 views
5

esiste un modo per rilevare le limitazioni della dimensione del file system dei singoli file (ad esempio 4 gb su grasso 32)?Come rilevare le limitazioni della dimensione del file system dei singoli file

Deve funzionare su sistema operativo Windows, ma meglio sarebbe una soluzione portatile. Rilevare il tipo di file system potrebbe essere un problema, ma non so come sia possibile farlo.

Qualcuno può aiutarmi qui?

Grazie in anticipo Tobias

+0

posso certamente pensare a modi non-portatili di interrogare il nome * * del sistema di file su Windows, ma non credo che soddisfa correttamente la vostra richiesta ... – reuben

+0

Probabilmente risolverebbe il mio problema per ora - ma mi lascerebbe con una sensazione di disagio di avere una soluzione "brutta" per questo problema. Tuttavia, se non c'è altro modo, non può essere aiutato. –

+1

... ma complimenti a te per aver cercato almeno un'opzione migliore e più pulita. Molti sviluppatori non farebbero lo stesso ... – reuben

risposta

3

È possibile rilevare il tipo di filesystem su Windows con GetVolumeInformation

+1

... o tramite WMI, se lo si desidera. Avrai bisogno di una conoscenza hard-code dei file system generalmente supportati, ad esempio (ad esempio NTFS, FAT, FAT32, EXFAT, CDFS, UDF, ecc.). – reuben

+0

@ruben: Sì, ma dopo aver guardato http://msdn.microsoft.com/en-us/library/windows/desktop/aa364407%28v=vs.85%29.aspx non vedo davvero un modo migliore. Forse il kit IFS conosce più codici IOCTL che potrebbero aiutare se ... – Anders

0

È possibile ottenere le limitazioni totale capacità tramite boost::space() oppure usa direttamente POSIX fstatvs().

Per quanto riguarda le limitazioni sulla dimensione dei singoli file ... l'unica risposta portatile che viene in mente è brutta forza bruta cercare di creare file più grandi e più grandi fino al fallimento, costoso come è (e impossibile se la capacità è già limitata).

+1

Ciò potrebbe fornire la quantità di spazio libero, ma non necessariamente i limiti di implementazione inerenti del file system ... – reuben

+0

Abbastanza. Sono un po 'confuso su quando le limitazioni di indirizzo intrinseche sarebbero di interesse, piuttosto che la capacità, però. –

+0

Si consideri un file system che ha più di 4 GB di spazio libero ma non consente la creazione di file più grandi di 4 GB. Questo potrebbe essere importante per capire in anticipo, prima di aver provato a creare qualsiasi file di questo tipo ... – reuben

Problemi correlati