strFormatByteSizeW 函数 (shlwapi.h)

将数值转换为字符串,该字符串表示以大小值表示的数字(以字节、千字节、兆字节或千兆字节为单位),具体取决于大小。 在一个参数类型中与 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 中,大小以 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 标头将 StrFormatByteSize 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

StrFormatByteSize64

StrFormatByteSizeA

StrFormatByteSizeEx