在编程过程中,有时我们需要生成一串唯一的GUID字符串编码,win32和linux都提供了类似的api,供程序员使用,下面介绍一段源码,它封装了这种调用方式,供大家使用,源码如下:
#ifdef WIN32 #include#else #include #endif #define MAX_LEN 128 static std::string GetGuid() { char szuuid[MAX_LEN] = { 0 }; #ifdef WIN32 GUID guid; CoCreateGuid(&guid); _snprintf_s( szuuid, sizeof(szuuid), "{%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]); #else uuid_t uuid; uuid_generate(uuid); uuid_unparse(uuid, szuuid); #endif return std::string(szuuid); }
合理的代码可以有效的提高工作效率,减少重复劳动。



