I am looking to convert a boost::uuid to a const char*. What is the correct syntax for the conversion?
Just in case, there is also boost::uuids::to_string
, that works as follows:
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
boost::uuids::uuid a = ...;
const std::string tmp = boost::uuids::to_string(a);
const char* value = tmp.c_str();
You can do this a bit easier using boost::lexical_cast that uses a std::stringstream under the hood.
#include <boost/lexical_cast.hpp>
#include <boost/uuid/uuid_io.hpp>
const std::string tmp = boost::lexical_cast<std::string>(theUuid);
const char * value = tmp.c_str();
You can include <boost/uuid/uuid_io.hpp>
and then use the operators to convert a uuid into a std::stringstream
. From there, it's a standard conversion to a const char*
as needed.
For details, see the Input and Output second of the Uuid documentation.
std::stringstream ss;
ss << theUuid;
const std::string tmp = ss.str();
const char * value = tmp.c_str();
(For details on why you need the "tmp" string, see here.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With