0

到目前为止,我一直在使用 FormatString 使用编号变量( 、 等)格式化多语言字符串$1-$2但是,它不是跨平台兼容的。

是否有一个sprintf跨平台的 -esque 功能可以做同样的事情?它不需要分配内存或任何东西 - 只需要能够处理可能位于字符串中不同位置的编号类型伪变量。

Boost 是可以的,如果它提供类似的功能。

4

1 回答 1

1

我会看看 boost::format 。我已经使用了一段时间,而且效果很好。

另一种选择是使用 std::stringstreams 格式化输出。如果您不想或不能使用 boost,那几乎是唯一的可移植选项,另外,恕我直言,语法更具可读性。

与通常的 C API 相比,这两个库都是类型安全的,因此在 C++ 上下文中使用也更好、更安全。

于 2012-08-15T23:49:38.013 回答