[C++] 跨平台的生成GUID方法

string GetGUID()
{
    char szGUID[BUFF_SIZE];
#ifdef WIN32
        GUID uuid;
        CoCreateGuid(&uuid);
#else
        TmUUID_t    uuid;
        TmMsg_CreateUUID(&uuid);
#endif
        tm_snprintf(szGUID, BUFF_SIZE-1, "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X", 
            uuid.Data1, uuid.Data2, uuid.Data3, uuid.Data4[0], uuid.Data4[1], uuid.Data4[2], 
            uuid.Data4[3], uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], uuid.Data4[7]);

    return string(szGUID);
}

 

posted on 2013-08-22 11:35  南京大乱炖  阅读(2152)  评论(0编辑  收藏  举报

导航