日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 文件大小格式化

發布時間:2025/7/25 c/c++ 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 文件大小格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #include <iostream> 2 #include <windows.h> 3 using namespace std; 4 1 /*文件大小格式化 2 *param [in] dwSize xx.xxB 、xx.xxKb 、xx.xxM 3 */ 4 5 LPCTSTR CFileUtil::FileSizeToFormat(DWORD dwSize) 6 { 7 TCHAR* strSize = new TCHAR[20]; 8 ZeroMemory(strSize,sizeof(TCHAR) * 20); 9 10 double i = pow((double)2,10); 11 12 if (dwSize < pow((double)2,10))//dwSize < 1024 13 { 14 _stprintf_s(strSize,20,TEXT("%dB"),dwSize);//文件大小 B 15 } 16 else if (pow((double)2,10) <= dwSize && dwSize< pow((double)2,20))// 1024 <= dwSize < 1024*1024 17 { 18 float fSize = (float)(dwSize*100/1024)/100; 19 _stprintf_s(strSize,20,TEXT("%.2fKB"),fSize); 20 } 21 else if (pow((double)2,20) <= dwSize && dwSize < pow((double)2,30))// 1024*1024 <= dwSize < 1024*1024*1024 22 { 23 float fSize = (float)(dwSize/1024*100/1024)/100; 24 _stprintf_s(strSize,20,TEXT("%.2fM"),fSize);//文件大小 M 25 } 26 else if (pow((double)2,30) <= dwSize && dwSize < pow((double)2,40)) // 1024*1024*1024 <= dwSize < 1024*1024*1024*1024 27 { 28 float fSize = (float)(dwSize/1024*100/1024/1024)/100; 29 _stprintf_s(strSize,20,TEXT("%.2fG"),fSize);//文件大小 G 30 } 31 else 32 { 33 float fSize = (float)(dwSize/1024*100/1024/1024/1024)/100; 34 _stprintf_s(strSize,20,TEXT("%.2fT"),fSize);//文件大小 T 35 } 36 37 return strSize; 38 }

?

5 6 /*根據文件大小進行格式化 7 *@[in ] llBytes 文件的長度(B) 8 *@[out] pszSize 緩沖區 9 *@[in ] clen 緩沖區長度 10 */ 11 12 BOOL FileSizeToStringA(LONGLONG llBytes, char* pszSize, DWORD cLen) 13 { 14 double bytes = (double)llBytes; 15 DWORD cIter = 0; 16 char* pszUnits[] = { ("B"), ("KB"), ("MB"), ("GB"), ("TB") }; 17 DWORD cUnits = sizeof(pszUnits) / sizeof(pszUnits[0]); 18 19 // move from bytes to KB, to MB, to GB and so on diving by 1024 20 while(bytes >= 1024 && cIter < (cUnits-1)) 21 { 22 bytes /= 1024; 23 cIter++; 24 } 25 _snprintf_s(pszSize, cLen, _TRUNCATE,("%.2f %s"), bytes, pszUnits[cIter]); 26 return TRUE; 27 } 28 29 int main() 30 { 31 char szText[256]; 32 FileSizeToStringA(23156,szText,256); 33 34 cout << "szText:" << szText << endl; 35 36 getchar(); 37 return 0; 38 }

?

轉載于:https://www.cnblogs.com/chechen/p/4378508.html

總結

以上是生活随笔為你收集整理的C++ 文件大小格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。