StrFormatByteSizeA 函式 (shlwapi.h)
根據大小,將數值轉換成字串,代表以位元組、KB、MB 或 GB 為單位的大小值表示的數位。 與一個參數類型中的 StrFormatByteSizeW 不同。
語法
PSTR StrFormatByteSizeA(
DWORD dw,
[out] PSTR pszBuf,
UINT cchBuf
);
參數
dw
類型: DWORD
要轉換的數值。
[out] pszBuf
類型: PSTR
接收已轉換字串之緩衝區的指標。
cchBuf
類型: UINT
pszBuf所指向的緩衝區大小,以字元為單位。
傳回值
類型: PSTR
傳回已轉換字串的指標,如果轉換失敗,則傳回 Null 。
備註
此函式的第一個參數對於 ANSI 和 Unicode 版本有不同的類型。 如果您的數值是 DWORD,您可以在這兩種情況下搭配文字宏使用 StrFormatByteSize 。 編譯器會將 Unicode 案例的數值轉換成 LONGLONG 。 如果您的數值是 LONGLONG,您應該明確地使用 StrFormatByteSizeW 。
在Windows 10中,大小會以基底 10 回報,而不是以基底 2 回報。 例如,1 KB 是 1000 個位元組,而不是 1024。
下表說明此函式如何將數值轉換成文字字串。
數值 | 文字字串 |
---|---|
532 | 532 個位元組 |
1340 | 1.30 KB |
23506 | 22.9 KB |
2400016 | 2.28 MB |
2400000000 | 2.23 GB |
注意
shlwapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 StrFormatByteSize 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (4.71 版或更新版本) |