如何将uint64_t值传递给std :: string? 我需要构造包含此值的std :: string 例如:
void genString(uint64_t val)
{
std::string str;
//.....some code for str
str+=(unsigned int)val;//????
}
谢谢
答案 0 :(得分:16)
答案 1 :(得分:10)
使用boost::lexical_cast
或std::ostringstream
e.g:
str += boost::lexical_cast<std::string>(val);
或
std::ostringstream o;
o << val;
str += o.str();
答案 2 :(得分:3)
我使用下面的代码。因为它是一个模板,它将适用于任何类型的支持运算符&lt;&lt;到了溪流。
#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);
答案 3 :(得分:1)
string genString(uint64_t val)
{
char temp[21];
sprintf(temp, "%z", val);
return temp;
}