문제

How do I print boolean values with boost::format as symbolic values?

Can this be done without boost::io::group? It seems that flags sent to the stream beforehand get retested:

#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)
    ;
}

Output

true 1 true
도움이 되었습니까?

해결책 2

It doesn't appear to me that you can.

I looked at the Boost.Format documentation and the code, and didn't see anything.

On the other hand, the sample code shows how to write a formatter for a user-defined type. You could write one for "bool"

다른 팁

You can archive that like this:

#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)
    ;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top