23,125
社区成员
发帖
与我相关
我的任务
分享
/**
* Create random UUID
*
* @param buf - buffer to be filled with the uuid string
*/
static char *random_uuid(char buf[37])
{
const char *c = "89ab";
char *p = buf;
int n;
for (n = 0; n < 16; ++n)
{
int b = rand() % 255;
switch (n)
{
case 6:
sprintf(p, "4%x", b % 15);
break;
case 8:
sprintf(p, "%c%x", c[rand() % strlen(c)], b % 15);
break;
default:
sprintf(p, "%02x", b);
break;
}
p += 2;
switch (n)
{
case 3:
case 5:
case 7:
case 9:
*p++ = '-';
break;
}
}
*p = 0;
return buf;
}
// 调用函数
void Test()
{
char buf[37] = { 0 };
random_uuid(buf);
}