Convert uint64_t to std::string

后端 未结 4 1085
时光说笑
时光说笑 2021-02-13 23:42

How can I transfer uint64_t value to std::string? I need to construct the std::string containing this value For example something like this:

void genString(uint6         


        
相关标签:
4条回答
  • 2021-02-13 23:45

    I use something like this code below. Because it's a template it will work with any type the supports operator<< to a stream.

    #include <sstream>
    
    template <typename T>
    std::string tostring(const T& t)
    {
        std::ostringstream ss;
        ss << t;
        return ss.str();
    }
    

    for example

    uint64_t data = 123;
    std::string mystring = tostring(data);
    
    0 讨论(0)
  • 2021-02-13 23:53

    In C++ 11 you may just use:

    std::to_string()
    

    it's defined in header

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

    0 讨论(0)
  • 2021-02-14 00:09

    use either boost::lexical_cast or std::ostringstream

    e.g.:

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

    or

    std::ostringstream o;
    o << val;
    str += o.str();
    
    0 讨论(0)
  • 2021-02-14 00:09
    string genString(uint64_t val)
    {
       char temp[21];
       sprintf(temp, "%z", val);
       return temp;
    }
    
    0 讨论(0)
提交回复
热议问题