Функция 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 или более поздняя) |