首页 > 技术文章 > C++ 获取UUID

jingdian1956 2014-03-07 18:04 原文

#include <string>
#include <stdio.h>
#if defined(WIN32)||defined(WINCE)||defined(WIN64)
#include <objbase.h>
#else
#include <uuid/uuid.h> 
#endif

std::string GetUUID(std::string& strUUID)
{
    strUUID = "";
#if defined(WIN32)||defined(WINCE)||defined(WIN64)
    GUID guid;
    if ( !CoCreateGuid(&guid) )
    {
        char buffer[64] = {0};
        _snprintf_s(buffer, sizeof(buffer),
            //"%08X%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X",    //大写
            "%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]);
        strUUID = buffer;
    }
#else
    uuid_t uu;
    uuid_generate(uu);
#endif
    return strUUID;  
}  

 

推荐阅读