C++ 生成2位长的随机UUID

C++ 生成2位长的随机UUID,c++,boost,C++,Boost,我正在使用Boost Random generator生成随机UUID。我现在生成的随机UUID相当长。相反,我想生成一个UUID,它是一个2位数,例如:“Dz” 我现在使用的代码行是 std::string strAK=to_string(boost::uuids::random_生成器()) 如何修改此代码并生成2位数的UUID。很简单 std::string strAK = to_string( boost::uuids::random_generator()() ).substr( 0,

我正在使用Boost Random generator生成随机UUID。我现在生成的随机UUID相当长。相反,我想生成一个UUID,它是一个2位数,例如:“Dz”

我现在使用的代码行是

std::string strAK=to_string(boost::uuids::random_生成器())

如何修改此代码并生成2位数的UUID。

很简单

std::string strAK = to_string( boost::uuids::random_generator()() ).substr( 0, 2 );

但正如已经评论过的,这并不是普遍唯一的。

UUID如此长是有原因的……如果必须的话,生成两位数长的东西。只是不要将其称为UUID,也不要期望避免冲突。退一步,你打算用这个2字符字符串做什么?在这个2字符字符串可能代表的范围内,它甚至不可能是唯一的,这取决于基数(即36代表所有的上alpha和0-9)。如果他真的只需要2个字符就可以涵盖所有可能的情况,那么最好使用一个自动递增计数器,它可以给出100个可能的组合,或者如果他需要更多的组合,则可以将十进制数转换为不同的基数。谢谢Philip…正如你正确地说的,将2位数的ID称为UUID是错误的。我需要它,因为我已经有一个典型的UUID,我需要2位数的ID在地图中链接到这个。。。