void getID(char id[20])
{
// 数字和字母一共36个
const static char dict[36] = { '0','1','2','3','4','5','6','7','8','9','a', 'b', 'c', ..... ,'z' };
// 用于存放唯一id的索引
static char sid[20] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 };
// id生成算法: 每次让sid[0]加一,如果加到36,那么sid[0] = 0, sid[1] += 1; 如果sid[1]加到36那么 sid[1]=0, sid[2] += 1; 依此类推。
// 相当于实现一个36进制的加法运算,每次取出都是上次数加一,所以绝对是唯一数
sid[0] ++;
for(int i=1; i<20; i++)
{
if(sid[i-1] < 36) break;
sid[i] ++;
sid[i-1] -= 36;
}
for(int i=0; i<20; i++)
{
id[i] = dict[ sid[i] ];
}
}
{
// 数字和字母一共36个
const static char dict[36] = { '0','1','2','3','4','5','6','7','8','9','a', 'b', 'c', ..... ,'z' };
// 用于存放唯一id的索引
static char sid[20] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0 };
// id生成算法: 每次让sid[0]加一,如果加到36,那么sid[0] = 0, sid[1] += 1; 如果sid[1]加到36那么 sid[1]=0, sid[2] += 1; 依此类推。
// 相当于实现一个36进制的加法运算,每次取出都是上次数加一,所以绝对是唯一数
sid[0] ++;
for(int i=1; i<20; i++)
{
if(sid[i-1] < 36) break;
sid[i] ++;
sid[i-1] -= 36;
}
for(int i=0; i<20; i++)
{
id[i] = dict[ sid[i] ];
}
}