标签: c++ boost string-formatting
我正在使用boost :: format来创建和格式化字符串。
我想创建以下输出:
数据:0x64 - 名称:'xxx',值:10
我尝试了以下行:
boost::format("Data: %|02x|%1% - Name: '%2%', Value: %3%") % code % name % value);
但它不起作用。
我知道第一个参数的形成是错误的,但我无法修复它。
是否有可能将第一个参数打印为十六进制?
答案 0 :(得分:8)
只需使用
boost::format("%1$#x")
这意味着 - 以十六进制形式输出第一个带有数字基数的参数。
更多信息here