Uint64_t値をstd :: stringに転送するにはどうすればよいですか?この値を含むstd :: stringを作成する必要があります。たとえば、次のようになります。
void genString(uint64_t val)
{
std::string str;
//.....some code for str
str+=(unsigned int)val;//????
}
ありがとうございました
いずれかを使用しますboost::lexical_cast
またはstd::ostringstream
例えば。:
str += boost::lexical_cast<std::string>(val);
または
std::ostringstream o;
o << val;
str += o.str();
C++ 11では、次のものを使用できます。
std::to_string()
ヘッダーで定義されています
以下のコードのようなものを使用します。これはテンプレートであるため、ストリームに対して演算子<<をサポートする任意のタイプで機能します。
#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);
string genString(uint64_t val)
{
char temp[21];
sprintf(temp, "%z", val);
return temp;
}