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 ");
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 ", 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(" ");
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;