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

【转】C++:在程序中获取全球唯一标识号(GUID或UUID)

2013-11-18 09:42 513 查看
Windows:使用CoCreateGuid函数(GUID)

#include <objbase.h>

#include <stdio.h>

#define GUID_LEN 64

int main(int argc, char* argv[]){

char buffer[GUID_LEN] = { 0 };

GUID guid;

if ( CoCreateGuid(&guid) ){

fprintf(stderr, "create guid error\n");

return -1;

}

_snprintf(buffer, sizeof(buffer),

"%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]);

printf("guid: %s\n", buffer);

return 0;

}

Linux:使用uuid_generate函数(UUID)

//编译命令:gcc atemp.c -o atemp -luuid

#include <stdio.h>

#include <uuid/uuid.h>

int main() {

uuid_t uu;

int i;

uuid_generate( uu );

for(i=0;i<16;i++){

printf("%02X-",uu[i]);

}

printf("\n");

return 0;

}

cocoss2dx下产生UUID

uuid_t uu;

uuid_generate(uu);

char buf[10]={0};

sprintf(buf, "%02x",uu[0]);

str+=buf;

for (int i=1; i<16; i++) {

memset(buf, 0, 10);

sprintf(buf, "-%02x",uu[i]);

str+=buf;

}

cout<<"UUID:"<<str<<endl;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: