到目前为止,我一直在使用FormatString使用编号变量($1、$2等)来格式化多语言字符串-然而,它不是跨平台兼容的。
有没有跨平台的sprintf-esque函数可以做同样的事情?它不需要分配内存或任何东西-只需要能够处理可能位于字符串中不同位置的带编号的类型化伪变量。
Boost是可以的,如果它提供了类似的功能。
发布于 2012-08-16 07:49:38
我会看看boost::format。我已经用了一段时间了,它工作得很好。
另一种选择是使用std::stringstreams来格式化输出。如果您不想或不能使用boost,这几乎是唯一的可移植选项,另外,语法更具可读性。
这两个库都是类型安全的,因此与通常的C API相比,在C++上下文中使用也更好、更安全。
https://stackoverflow.com/questions/11978869
复制相似问题