使用 libfmt 格式化为字符串

using libfmt to format to a string

使用 libfmt 打印到文件非常方便:

auto file = fmt::output_file(filename);
file.print(...);

但是我怎样才能格式化到一个内存缓冲区,最终转换成一个字符串呢?我会想象像

auto buf = some_buffer_object{};
buf.print(...);
std::string s = buf.get_string();

但是我在文档中找不到这样的缓冲区类型(fmt::memory_buffer 似乎相关,但不是这样工作的)。

重要提示:我需要多次调用 print,因此 auto s = fmt::format(...) 不是一个选项。

how can I format to a memory buffer, ultimatiley converting to a string?

使用 format_to 并将附加到字符串的内容打印到迭代器。