FormatFileSize
Функция
FSF.FormatFileSize
форматирует число (размер файла) по заданным условиям.
size_t WINAPI FormatFileSize( unsigned __int64 Size, intptr_t Width, FARFORMATFILESIZEFLAGS Flags, wchar_t *Dest, size_t DestSize );
Параметры
Size
Число для форматирования.
Width
Ширина поля (примером может служить ширина колонки в панели). При значении равном
0
подразумевается - "сколько получится". Отрицательное значение ширины позволяет выравнивать по левому краю.Flags
Формат представления, может быть комбинацией следующих значений (тип FARFORMATFILESIZEFLAGS):
Флаг | Описание |
---|---|
FFFS_COMMAS | Вставлять разделитель между тысячами - "12 345". |
FFFS_FLOATSIZE | Показывать размер в виде десятичной дроби, используя наиболее подходящую единицу измерения, например 0,97 К, 1,44 М, 53,2 Г. |
FFFS_SHOWBYTESINDEX | Добавлять суффиксы: B - для байт, K - килобайт, M - мегабайт, G - гигабайт, T - терабайт, P - петабайт, E - эксабайт |
FFFS_ECONOMIC | Экономичный режим, не показывать пробел перед суффиксом размера файла (т.е. "0.97K"). |
FFFS_THOUSAND | Использовать 1000 вместо 1024 в качестве делителя. |
FFFS_MINSIZEINDEX | Использовать минимально допустимый индекс при форматировании. Индекс указывается в младшем байте и может быть только 0, 1, 2 или 3 (K,M,G,T),
например, FFFS_MINSIZEINDEX|1 - "размер как минимум в мегабайтах". |
Dest
Указатель на строку, куда будет помещён результат преобразования. Установите
Dest = NULL
для того, чтобы узнать необходимый размер буфера в символах.DestSize
Максимальное количество символов, которое можно поместить в
Dest
, с заключительным нулём.Возвращаемое значение
Необходимый размер буфера
Dest
в символах.