磁盤空間? (使用/免費/總計)我如何得到這個?在C++ ... 感謝您的閱讀。磁盤空間? (使用/免費/總計)我如何得到這個?在C++中
回答
GetDiskFreeSpaceEx WIN32 API
更多幫助請參閱:http://www.codeproject.com/KB/system/system_information.aspx – lsalamon 2009-09-19 18:02:27
statvfs for linux。
#include <sys/statvfs.h>
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
struct statvfs fiData;
if(argc < 2) {
cout <<"Usage, ./size dir1 dir2 ... dirN\n";
return(1);
}
//Lets loopyloop through the argvs
for(int i= 1 ; i<argc; i++) {
if((statvfs(argv[i],&fiData)) < 0) {
cout << "\nFailed to stat:" << argv[i];
} else {
cout << "\nDisk: " << argv[i];
cout << "\nBlock size: "<< fiData.f_bsize;
cout << "\nTotal no blocks: "<< fiData.f_blocks;
cout << "\nFree blocks: "<< fiData.f_bfree;
}
}
}
彙編:克++ -o大小file.cpp
測試: ./size DIR1 DIR2
針對'fiData.f_bfree'使用'fiData.f_bavail'作爲可用於非特權進程的空閒塊的數量。這將有助於計算更準確的可用磁盤。 – 2015-12-30 10:21:45
原始版本的Linux的statfs()和fstatfs ()系統調用並沒有考慮到極大的文件大小。隨後,Linux 2.6添加了使用新結構statfs64的新statfs64()和fstatfs64()系統調用。新結構包含與原始statfs結構相同的字段,但各個字段的大小都會增加,以適應大文件大小。 見http://linux.die.net/man/2/statfs64
- 1. 如何在Java中使用Linux獲得總磁盤空間?
- 2. 什麼是在Android中使用的免費磁盤空間?
- 3. 如何從Windows使用C獲得可用磁盤空間?
- 4. 如何獲得免費/總空間在USB OTG?
- 5. 如何使用boost或poco獲取(使用/可用/總計)磁盤空間?
- 6. 如何在我的Mysql數據庫中獲得免費空間?
- 7. MongoDb:避免過多的磁盤空間
- 8. 增加Docker Toolbox上的磁盤空間
- 9. 我可以使用Java程序獲得特定的磁盤空間(如C:)嗎?
- 10. 廣告磁盤空間vs實際磁盤空間
- 11. 計算可用磁盤空間
- 12. 如何計算加盟費用?我想知道磁盤操作?
- 13. Kamon,Statsd,Grafana磁盤空間
- 14. 如何檢查可用磁盤空間?
- 15. C:免費獲得比我想要的更多的空間
- 16. 分析SVN磁盤空間
- 17. iPhone:可用磁盤空間
- 18. OpenFeint磁盤空間佔用空間
- 19. 擴展磁盤空間EC2
- 20. 估計MySql的磁盤空間
- 21. 使用Python在Android上計算剩餘磁盤空間
- 22. Solr保留磁盤空間
- 23. 使用C獲取WinRT中的可用磁盤空間#
- 24. 如何查找某個用戶佔用的磁盤空間總量?
- 25. 如何查看佔用Azure服務計劃的磁盤空間?
- 26. 如何使用java計算Linux機器中的可用磁盤空間?
- 27. 德爾福 - 如何獲得Windows驅動器的總磁盤空間?
- 28. 我如何讓Docker在持續集成中不使用磁盤空間
- 29. 表使用的Oracle磁盤空間
- 30. 使用R的磁盤空間預測
這是O/S特定的。 – ChrisW 2009-09-19 18:30:04