StrFormatByteSizeW function (shlwapi.h)
Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. Differs from StrFormatByteSizeA in one parameter type.
Syntax
PWSTR StrFormatByteSizeW(
LONGLONG qdw,
[out] PWSTR pszBuf,
UINT cchBuf
);
Parameters
qdw
Type: LONGLONG
The numeric value to be converted.
[out] pszBuf
Type: PWSTR
A pointer to a buffer that, when this function returns successfully, receives the converted number.
cchBuf
Type: UINT
The size of the buffer pointed to by pszBuf, in characters.
Return value
Type: PWSTR
Returns a pointer to the converted string, or NULL if the conversion fails.
Remarks
The first parameter of this function has different types for the ANSI and Unicode versions. If your numeric value is a DWORD, you can use StrFormatByteSize with text macros for both cases. The compiler will cast the numerical value to a LONGLONG for the Unicode case. If your numerical value is a LONGLONG, you should use StrFormatByteSizeW explicitly.
In Windows 10, size is reported in base 10 rather than base 2. For example, 1 KB is 1000 bytes rather than 1024.
The following table illustrates how this function converts a numeric value into a text string.
Numeric value | Text string |
---|---|
532 | 532 bytes |
1340 | 1.30 KB |
23506 | 22.9 KB |
2400016 | 2.28 MB |
2400000000 | 2.23 GB |
Note
The shlwapi.h header defines StrFormatByteSize as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional, Windows XP [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | shlwapi.h |
Library | Shlwapi.lib |
DLL | Shlwapi.dll (version 4.71 or later) |