C語言生成隨機uuid編碼

bcf2 9年前發布 | 2K 次閱讀 C/C++

#include <stdio.h>

include <stdlib.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; }</pre>

 本文由用戶 bcf2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!