The fmtsize
() function formats a numerical value
in kilobytes, megabytes, gigabytes, or terabytes, as appropriate:
#include <x/fmtsize.H> x::fd filedesc; // ... std::cout << "File size: " << x::fmtsize(filedesc->stat()->st_size) << std::endl;
This is intended for descriptive or display purposes. For small values,
x::fmtsie
() formats
something like “150 bytes”. For larger values,
“Kb
”,
“Mb
”,
“Gb
”, or
“Tb
” is selected, based on the value.
Note that the formatted value is not meant to be exact.
“fmtsize(1025)” returns
“1.0 Kb
”.
parsesize
() is the approximate opposite: it parses
a std::string
that looks like “X kb”
or “X Mb” and returns a numerical
uint64_t
that represents the given size, in
bytes.