Поделиться через


Функция StrFormatByteSizeEx (shlwapi.h)

Преобразует числовое значение в строку, представляющую число в байтах, килобайтах, мегабайтах или гигабайтах в зависимости от размера. Расширяет возможности StrFormatByteSizeW , предлагая возможность округления до ближайшей отображаемой цифры или отмены нераспространенных цифр.

Синтаксис

LWSTDAPI StrFormatByteSizeEx(
        ULONGLONG  ull,
        SFBS_FLAGS flags,
  [out] PWSTR      pszBuf,
        UINT       cchBuf
);

Параметры

ull

Тип: ULONGLONGLONG

Числовое значение, которое необходимо преобразовать.

flags

Тип: SFBS_FLAGS

Одно из SFBS_FLAGS значений перечисления, указывающее, следует ли округлить или усечь нераспревеченные цифры. Это значение не может иметь значение NULL.

[out] pszBuf

Тип: PWSTR

Указатель на буфер, получающий преобразованную строку.

cchBuf

Тип: UINT

Размер буфера, на который указывает pszBuf, в символах.

Возвращаемое значение

Тип: HRESULT

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

В следующей таблице показано, как эта функция преобразует числовое значение в текстовую строку относительно переданного флага.

Числовое значение Flag Текстовая строка
2147483647 SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT 2,00 ГБ
2147483647 SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS 1,99 ГБ
 

В Windows 10 размер указывается в базе 10, а не в базе 2. Например, 1 КБ — это 1000 байт, а не 1024.

Требования

   
Минимальная версия клиента Windows Vista с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 6.0 или более поздняя)

См. также раздел

StrFormatByteSize64

StrFormatByteSizea

StrFormatByteSizeW