Мне интересно, все ли библиотеки форматирования C ++ в конечном итоге прибегают к функции *sprintf
для форматирования чисел.
Я спрашиваю это, потому что:
- Глядя на библиотеку iostreams, которая поставляется с Visual C ++, я вижу, что числа, введенные в поток, в конечном итоге будут отформатированы с
sprintf_s
.
- Boost.Format, насколько я могу судить, просто использует доступную библиотеку iostreams.
- FastFormat в конечном итоге использует
vsprintf
для форматирования числа.
Итак, существуют ли реализации iostreams, которые не используют * sprintf и сами выполняют форматирование? Существуют ли другие библиотеки форматирования, которые не передают форматирование чисел в * семейство функций sprintf?
Буду признателен за ответы в виде:
- Нет: реализация XY использует ABC для форматирования чисел
- Да: все другие (например, iostreams) известные мне реализации (X, Y, Z) также пересылают форматирование чисел в stdio, потому что ...
Пожалуйста, избегайте чрезмерно умозрительных ответов.