【问题标题】:Cross platform FormatString跨平台格式字符串
【发布时间】:2012-08-15 23:45:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ multilingual printf format-string


    【解决方案1】:

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

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

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

    【讨论】:

    • 除了它使用烦人的运算符重载(%)之外,这正是我所寻找的!谢谢!
    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 2016-06-09
    • 2011-05-09
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多