I am wondering whether "all" C++ formatting libraries eventually fall back to a *sprintf
function to format numbers.
I am asking this because:
- Looking at the iostreams library that comes with Visual C++, I can see that numbers input into a stream will eventuall be formatted with
sprintf_s
. - Boost.Format just uses the available iostreams library as far as I can tell.
- FastFormat eventually uses
vsprintf
to format a number.
So, are there iostreams implementations that do not use *sprintf and do the formatting themselves? Are there other formatting libraries that do not forward formatting of numbers to *sprintf family of functions?
I would appreciate answers in the form of:
- No: implementation XY uses ABC to format numbers
- Yes: all other (e.g. iostreams) implementations I know (X, Y, Z) also forward number formatting to stdio, because ...
Please avoid overly speculative answers.