標籤:blog io ar for div sp on c log
#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);}
運行如下:
[email protected]:~/src$ gcc getuuid.c[email protected]:~/src$ ./a.out guid = a397a255-53be-41fc-996b-521413e9e22dguid = 518e1f56-0857-49a7-a5d0-528277751b99guid = 4aed583d-6a52-49d5-b668-8ead955f3c35guid = b5c48cdd-6c11-453d-91b4-59cfce233d27[email protected]:~/src$
linux c 產生uuid