Здравствуйте, ivli, Вы писали:
I>Доброго всем времени суток,
I>Возникла необходимость писать на СТЛ, после Майерса и Josuttis от AW
I>Стало немного легче но не могли бы уважаемые доны ответить на банальный вопрос,
I>Как вывести в std::string число без использования itoa, sprintf etc
I>что бы не использовать временных строк.
I>До этого в основном писал под Symbian там на всю катушку AppendNum итд а тут что то не найти.
I>Спасибо.
I>Игорь.
я делаю так:
int number = 777;
std::string result = boost::lexical_cast<int>(number);
Здравствуйте, ivli, Вы писали:
I>Доброго всем времени суток,
I>Возникла необходимость писать на СТЛ, после Майерса и Josuttis от AW
I>Стало немного легче но не могли бы уважаемые доны ответить на банальный вопрос,
I>Как вывести в std::string число без использования itoa, sprintf etc
I>что бы не использовать временных строк.
I>До этого в основном писал под Symbian там на всю катушку AppendNum итд а тут что то не найти.
I>Спасибо.
I>Игорь.
1. std::stringstream
long i = 10;
std::string str;
std::stringstream stream;
stream << i;
stream >> str;
2. boost::lexical_cast
long i = 10;
std::string str;
str = boost::lexical_cast<std::string>(i);
3. boost::format
const std::string templ = "%d";
long i = 10;
std::string str;
boost::format formatter(templ);
formatter % i;
str = formatter.str();
*Обработка ошибок и "ловля" исключений пропущена для наглядности.
**boost::lexical_cast реализован примерно как пример 1.
***в boost::lexical_cast есть небольшая ошибка: таргет, будет передаваться по значению.
В последнем исправлено, но он еще, вроде как, не вышел.
i = boost::lexical_cast<long>(str);
str будет передаваться по значению
Невозможное мы сделаем сегодня — чудо займет немного больше времени. /Аноним/
Здравствуйте, _AK_, Вы писали:
int number = 777;
std::string result = boost::lexical_cast<std::string>(number);
Невозможное мы сделаем сегодня — чудо займет немного больше времени. /Аноним/