strFormatByteSizeEx 函数 (shlwapi.h)

将数值转换为字符串,该字符串表示数字(以字节、千字节、兆字节或千兆字节为单位),具体取决于大小。 通过提供舍入到最接近的显示数字或放弃未显示的数字的选项来扩展 StrFormatByteSizeW

语法

LWSTDAPI StrFormatByteSizeEx(
        ULONGLONG  ull,
        SFBS_FLAGS flags,
  [out] PWSTR      pszBuf,
        UINT       cchBuf
);

参数

ull

类型: ULONGLONG

要转换的数值。

flags

类型: SFBS_FLAGS

SFBS_FLAGS枚举值之一,该值指定是舍入还是截断未显示的数字。 此值不能为 NULL。

[out] pszBuf

类型: PWSTR

指向接收转换后的字符串的缓冲区的指针。

cchBuf

类型: UINT

pszBuf 指向的缓冲区的大小(以字符为单位)。

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

下表说明了此函数如何将数值转换为与传递的标志相关的文本字符串。

数值 标志 文本字符串
2147483647 SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT 2.00 GB
2147483647 SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS 1.99 GB
 

在 Windows 10 中,大小以 10 而不是以 2 为底数报告。 例如,1 KB 是 1000 字节而不是 1024 字节。

要求

   
最低受支持的客户端 Windows Vista SP1 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shlwapi.h
Library Shlwapi.lib
DLL Shlwapi.dll (6.0 或更高版本)

另请参阅

StrFormatByteSize64

StrFormatByteSizeA

StrFormatByteSizeW