随感而发

杂七杂八

统计

留言簿(13)

阅读排行榜

评论排行榜

GUID介绍

今天学GUID,发现网上资料很多,就转载了一些:
GUID介绍:http://zhidao.baidu.com/question/3912210.html
GUID(Globally Unique IDentifier) 也称作 UUID(Universally Unique IDentifier).
特点:
GUID/UUID是通过特定算法产生的一个二进制长度为128位的数字, 在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同, 在公元3400年以前产生的UUID/GUID与任何其他产生过的UUIDs/GUIDs都不相同。在需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。 GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
用途:
标识特定的组件、程序、文件、数据、用户等,并可以在网络中使用。
。。。。省略N字

用API来生成GUID:
http://www.cnblogs.com/wubiyu/archive/2008/12/03/1346348.html
//--生成GUID的代码
//--相关程序/微软guidgen.exe

#include 
"stdafx.h"
#include 
<objbase.h>
#include 
<stdio.h>

//--生成GUID
const char* newGUID()
{
 
static char buf[64= {0};
 GUID guid;
 
if (S_OK == ::CoCreateGuid(&guid))
 {
  _snprintf(buf, 
sizeof(buf)
   , 
"{%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*)buf;
}

int main(int argc, char* argv[])
{
 
//--COM
 CoInitialize(NULL);
 
 printf(newGUID());
 printf(
"\r\n");
 
//--COM
 CoUninitialize();
 
return 0;
}

posted on 2009-04-02 15:26 shongbee2 阅读(1077) 评论(0)  编辑 收藏 引用 所属分类: windows相关


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理