您的位置:首页 > 编程语言 > C语言/C++

C++ 产生guid

2016-08-08 11:06 232 查看
windows下:

std::string CreateGuid()
{
char buffer[GUID_LEN] = { 0 };
GUID guid;
if (CoCreateGuid(&guid))
{
fprintf(stderr, "create guid error\n");
return "";
}
_snprintf(buffer, sizeof(buffer),"%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X",
guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1], guid.Data4[2],
guid.Data4[3], guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]);
printf("guid: %s\n", buffer);
return std::string(buffer);
}


linux下(没有验证过):

std::string CreateGuid()
{
uuid_t uu;
char str[36];
uuid_generate( uu );
uuid_unparse(uu, str);
return std::string(str);
}


注意:

windows下需要引用 ole32.lib

在linux下编译时需要链接uuid库(-luuid)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++