StrFormatByteSizeW 函数 (shlwapi.h)

将数值转换为一个字符串,该字符串表示为大小值(以字节、KB、兆字节或 GB 为单位),具体取决于大小。 不同于一个参数类型中的 StrFormatByteSizeA

语法

PWSTR StrFormatByteSizeW(
        LONGLONG qdw,
  [out] PWSTR    pszBuf,
        UINT     cchBuf
);

参数

qdw

类型:LONGLONG

要转换的数值。

[out] pszBuf

类型:PWSTR

指向缓冲区的指针,当此函数成功返回时,将接收转换的数字。

cchBuf

类型:UINT

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

返回值

类型:PWSTR

返回指向转换后的字符串的指针,或 NULL(如果转换失败)。

言论

此函数的第一个参数对 ANSI 和 Unicode 版本具有不同类型的。 如果数值是 DWORD,则可以将 StrFormatByteSize 用于这两种情况的文本宏。 编译器会将数值转换为 Unicode 事例的 LONGLONG。 如果数值是 longLONG ,则应显式使用 StrFormatByteSizeW

在 Windows 10 中,大小以 base 10 而不是 base 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 标头将 StrFormatByteSize 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional、Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlwapi.h
Shlwapi.lib
DLL Shlwapi.dll(版本 4.71 或更高版本)

另请参阅

StrFormatByteSize64

StrFormatByteSizeA

StrFormatByteSizeEx