5

如何使用boost::format符号值打印布尔值?

这可以在没有 的情况下完成boost::io::group吗?似乎预先发送到流的标志得到了重新测试:

#include <iomanip>
#include <iostream>
#include <boost/format.hpp>

int main()
{
  std::cout
    << std::boolalpha
    << true << " "
    << boost::format("%1% %2%\n")
         % true
         % boost::io::group(std::boolalpha, true)
    ;
}

输出

true 1 true
4

2 回答 2

2

您可以像这样存档:

#include <iomanip>
#include <iostream>
#include <boost/format.hpp>

int main()
{
  std::cout
    << std::boolalpha
    << true << " "
    << boost::format("%1$b %2%\n")
         % true
         % boost::io::group(std::boolalpha, true)
    ;
}
于 2020-10-02T16:15:37.350 回答
1

在我看来,你不能。

我查看了 Boost.Format 文档和代码,但什么也没看到。

另一方面,示例代码展示了如何为用户定义的类型编写格式化程序。你可以为“bool”写一个

于 2012-12-04T18:42:18.503 回答