Boost :: format十六进制输出

时间:2014-06-23 10:50:06

标签: c++ boost string-formatting

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

我想创建以下输出:

  

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

我尝试了以下行:

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

但它不起作用。

我知道第一个参数的形成是错误的,但我无法修复它。

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

1 个答案:

答案 0 :(得分:8)

只需使用

boost::format("%1$#x")

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

更多信息here