Конвертация числа в строку в C++
Есть несколько известных приемлимых способа сконвертировать число в строку std::string(или char*).
Способами C
Используя функцию itoa
char * itoa(int value, char * str, int base );
value - число, которое переводимое в строку
str - буфер, в котором сохранится С-строка с переведенным числом
base - система счисления(обычно - 10).
#include <stdlib.h>
....
int x = 100;
char buffer[20];
itoa(x, buffer, 10); // или _itoa
std::string s(buffer);
Используя функцию sprintf
Явно записываем в буфер по специальной маске, что ожидаем и указываем подстановки.
char buffer [50];
int a = 100, b = 10;
sprintf (buffer, "%d плюс %d равно %d ", a, b, a+b);
Применимы следующие флаги: %d - для целых чисел %f - для float
Способами C++
Создаем поток, и печатаем в поток число. Далее смотрим содержимое потока в виде std::string.
#include <ostream.h>
....
int number = 897;
ostringstream stream;
stream << number;
string converted = stream.str();
Используя boost::lexical_cast(C++)
try {
std::string s = boost::lexical_cast<std::string>(i);
} catch(boost::bad_lexical_cast &){
...
}