Boost :: format十六进制输出

MeJ*_*MeJ 4 c++ boost string-formatting

我正在使用boost :: format来创建和格式化字符串.

我想创建以下输出:

数据:0x64 - 名称:'xxx',值:10

我尝试了以下行:

boost::format("Data:  %|02x|%1% - Name: '%2%', Value: %3%") % code % name % value);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我知道第一个参数的形成是错误的,但我无法解决它.

是否有可能将第一个参数打印为十六进制?

For*_*veR 10

只是用

boost::format("%1$#x")
Run Code Online (Sandbox Code Playgroud)

这意味着 - 以十六进制形式输出第一个带数字基数的参数.

更多信息在这里