磁盤空間? (使用/免費/總計)我如何得到這個?在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. 獲取使用的總磁盤空間和剩餘的磁盤空間?
- 5. 如何獲得免費/總空間在USB OTG?
- 6. 如何使用boost或poco獲取(使用/可用/總計)磁盤空間?
- 7. 如何在我的Mysql數據庫中獲得免費空間?
- 8. iPhone獲得免費空間
- 9. 使用Unity計算Ipad/Iphone上的可用磁盤空間(C#)
- 10. MongoDb:避免過多的磁盤空間
- 11. 增加Docker Toolbox上的磁盤空間
- 12. 我可以使用Java程序獲得特定的磁盤空間(如C:)嗎?
- 13. 廣告磁盤空間vs實際磁盤空間
- 14. 計算可用磁盤空間
- 15. 如何計算加盟費用?我想知道磁盤操作?
- 16. Kamon,Statsd,Grafana磁盤空間
- 17. 如何使用Google Drive API獲得Google Drive的免費空間
- 18. 如何監視可用磁盤空間
- 19. 如何檢查可用磁盤空間?
- 20. WinRT在Windows 8中使用C#的磁盤空間
- 21. AWS S3:我如何查看使用多少磁盤空間
- 22. Neo4j,磁盤空間不足
- 23. C:免費獲得比我想要的更多的空間
- 24. 分析SVN磁盤空間
- 25. Cassandra 2.0佔用磁盤空間
- 26. AllegroGraph佔用磁盤空間
- 27. 擴展磁盤空間EC2
- 28. OpenFeint磁盤空間佔用空間
- 29. 如何增加Docker Sonarqube磁盤空間以避免此警告?
- 30. PostORder遍歷計算磁盤空間
這是O/S特定的。 – ChrisW 2009-09-19 18:30:04