VC++ 产生GUID或UUID

时间:2022-05-01 23:32:11

GUID 和 UUID 是一样的,表示全球唯一标识码。

下面是Windows系统中,产生GUID的一种方法(Windows API)

char* GUID_Generator()
{
  char buf[ ] = {};
  GUID guid;
  CoInitialize(NULL);
  if (S_OK == ::CoCreateGuid(&guid))
  {
    _snprintf( buf, sizeof(buf),
          "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
          guid.Data1,
          guid.Data2,
          guid.Data3,
          guid.Data4[], guid.Data4[],
          guid.Data4[], guid.Data4[],
          guid.Data4[], guid.Data4[],
          guid.Data4[], guid.Data4[]);
  }
  CoUninitialize();   return (char*)buf;
}