最近要用到随机码来做唯一标识,所以学习了下
定义函数
const char* newGUID();
实现函数
const char* newGUID()
{
GUID guid; //定义GUID变量,到时候生成随机窜
char szGUDI[64] = {0}; //定义字符数组,到时候把随机窜存到字符数组
if (S_OK == ::CoCreateGuid(&guid))//如果创建成功,就打印到字符串szGUID中,且按照预设的格式
{
sprintf(szGUDI, "%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]);
}
return (const char*)szGUDI; //将存有随机码的数组转为常字符指针
}
使用函数
在某个函数中,要使用随机码的时候调,(即赋值)
eg:某个结构体变量cwItem,其成员m_szItemID要用随机码来赋值,则
strcpy(cwItem->m_szItemID, newGUID()) ;