strFormatByteSizeA 函数 (shlwapi.h)
将数值转换为字符串,该字符串表示以大小值表示的数字(以字节、千字节、兆字节或千兆字节为单位),具体取决于大小。 不同于 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 标头将 StrFormatByteSize 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (4.71 或更高版本) |