Convert vector of uint8 to string

Mr S picture Mr S · Aug 1, 2013 · Viewed 18.9k times · Source

I have a pointer to a vector of type uint8.

How would I take this pointer and convert the data in the vector into a full string representative of its content?

Answer

Dietmar Kühl picture Dietmar Kühl · Aug 1, 2013

You could just initialize the std::string with the sequence obtained from the std::vector<uint8_t>:

std::string str(v->begin(), v->end());

There is no need to play any tricks checking whether the std::vector<uint8_t> is empty: if it is, the range will be empty. However, you might want to check if the pointer is v is null. The above requires that it points to a valid object.