使用 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
并将附加到字符串的内容打印到迭代器。
使用 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
并将附加到字符串的内容打印到迭代器。