StrFormatByteSizeA function

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 StrFormatByteSizeW in one parameter type.

Syntax

PSTR StrFormatByteSizeA(
  DWORD dw,
  PSTR  pszBuf,
  UINT  cchBuf
);

Parameters

dw

Type: DWORD

The numeric value to be converted.

pszBuf

Type: PSTR

A pointer to a buffer that receives the converted string.

cchBuf

Type: UINT

The size of the buffer pointed to by pszBuf, in characters.

Return Value

Type: PSTR

Returns a pointer to the converted string, or NULL if the conversion fails.

Remarks

The first parameter of this function has a different type 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

Requirements

   
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)

See Also

StrFormatByteSize64

StrFormatByteSizeEx

StrFormatByteSizeW