【转】C++ 11 生成 GUID
#include <sstream> #include <random> #include <string> unsigned int random_char() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 255); return dis(gen); } std::string generate_hex(const unsigned int len) { std::stringstream ss; for (auto i = 0; i < len; i++) { const auto rc = random_char(); std::stringstream hexstream; hexstream << std::hex << rc; auto hex = hexstream.str(); ss << (hex.length() < 2 ? '0' + hex : hex); } return ss.str(); }
来源: https://lowrey.me/guid-generation-in-c-11/