GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。
GUID的唯一缺陷在于生成的结果串会比较大。
#include <afx.h>
#include <ole2.h>
#include <iostream.h>
CString get_strGUID()
{
GUID m_guid;
CString strGUID;
if (S_OK ==::CoCreateGuid(&m_guid))
{
strGUID.Format("%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X" ,
m_guid.Data1, m_guid.Data2, m_guid.Data3 ,
m_guid.Data4[0], m_guid.Data4[1],
m_guid.Data4[2], m_guid.Data4[3],
m_guid.Data4[4], m_guid.Data4[5],
m_guid.Data4[6], m_guid.Data4[7] );
}
return strGUID;
}
int main()
{
for(int i=0;i<50;++i)
cout<<get_strGUID()<<endl;
system("pause");
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/whyacinth/archive/2007/11/22/1898514.aspx