boost :: lexical_cast int для заполнения строк нулями

Мне нужно создавать файлы с сгенерированными именами. я использую 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"

постскриптум не предлагайте использовать sprintf, пожалуйста.

1

Решение

Зачем boost::lexical_cast? использование std::stringstream

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

Другие решения

Вы могли бы использовать std::ostringstream с нормальным потоком манипуляторы для форматирования.

2

По вопросам рекламы [email protected]