您的位置:首页 > 编程语言 > C语言/C++

GUID及其简易生成代码(c++)

2011-03-27 12:46 621 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: