Преобразование uint64 t в std::string
Как я могу передать значение uint64_t в std:: string? Мне нужно построить строку std::, содержащую это значение Например что-то вроде этого:
void genString(uint64_t val)
{
std::string str;
//.....some code for str
str+=(unsigned int)val;//????
}
спасибо
4 ответов
использовать boost::lexical_cast
или std::ostringstream
например:
str += boost::lexical_cast<std::string>(val);
или
std::ostringstream o;
o << val;
str += o.str();
Я использую что-то вроде этого ниже код. Поскольку это шаблон, он будет работать с любым типом, поддерживающим оператор
#include <sstream>
template <typename T>
std::string tostring(const T& t)
{
std::ostringstream ss;
ss << t;
return ss.str();
}
uint64_t data = 123;
std::string mystring = tostring(data);