web-dev-qa-db-ja.com

uint64_tをstd :: stringに変換します

Uint64_t値をstd :: stringに転送するにはどうすればよいですか?この値を含むstd :: stringを作成する必要があります。たとえば、次のようになります。

void genString(uint64_t val)
{
      std::string str;
      //.....some code for str 
      str+=(unsigned int)val;//????
}

ありがとうございました

12
Yakov

いずれかを使用しますboost::lexical_castまたはstd::ostringstream

例えば。:

str += boost::lexical_cast<std::string>(val);

または

std::ostringstream o;
o << val;
str += o.str();
11
Flexo

C++ 11では、次のものを使用できます。

std::to_string()

ヘッダーで定義されています

http://www.cplusplus.com/reference/string/to_string/

19
dau_sama

以下のコードのようなものを使用します。これはテンプレートであるため、ストリームに対して演算子<<をサポートする任意のタイプで機能します。

#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);
4
jcoder
string genString(uint64_t val)
{
   char temp[21];
   sprintf(temp, "%z", val);
   return temp;
}
2
NMI