使用零将boost :: lexical_cast int转换为字符串填充

时间:2014-01-15 08:03:17

标签: c++ string boost lexical-cast

我需要创建带有生成名称的文件。我使用boost::lexical_cast将整数转换为std::string。是否有可能获得带填充零的字符串; 我没有c++11 tools,只有MSVS 2008支持的所有内容。

示例:

int i = 10;
std::string str = boost::lexical_cast<std::string>(i);

// str = "10"
// expect str = "000010"

P.S。不建议请使用sprintf。

2 个答案:

答案 0 :(得分:5)

为什么boost::lexical_cast?使用std::stringstream

std::ostringstream ss;
ss << std::setw(6) << std::setfill('0') << i;
const std::string str = ss.str();

答案 1 :(得分:2)

您可以将std::ostringstream与普通流manipulators一起用于格式化。