首页 > 代码库 > linux c 生成uuid
linux c 生成uuid
#include <stdio.h>#include <stdlib.h>#include <string.h>/** * Create random UUID * * @param buf - buffer to be filled with the uuid string */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 main(){ char guid[37]; random_uuid(guid); printf("guid = %s\n", guid); random_uuid(guid); printf("guid = %s\n", guid); random_uuid(guid); printf("guid = %s\n", guid); random_uuid(guid); printf("guid = %s\n", guid);}
运行如下:
daniel@debian:~/src$ gcc getuuid.cdaniel@debian:~/src$ ./a.out guid = a397a255-53be-41fc-996b-521413e9e22dguid = 518e1f56-0857-49a7-a5d0-528277751b99guid = 4aed583d-6a52-49d5-b668-8ead955f3c35guid = b5c48cdd-6c11-453d-91b4-59cfce233d27daniel@debian:~/src$
linux c 生成uuid
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。