今天學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;
}