生成随机字符串

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void getRandString(int len, char * randBuf)
{
int flag = -1;
// 设置随机种子
srand(time(NULL));
// 随机字符串: A-Z, a-z, 0-9, 特殊字符(!@#$%^&*()_+=)
char chars[] = "!@#$%^&*()_+=";
for (int i = 0; i < len - 1; ++i)
{
flag = rand() % 4;
switch (flag)
{
case 0:
randBuf[i] = 'Z' - rand() % 26;
break;
case 1:
randBuf[i] = 'z' - rand() % 26;
break;
case 3:
randBuf[i] = rand() % 10 + '0';
break;
case 2:
randBuf[i] = chars[rand() % strlen(chars)];
break;
default:
break;
}
}
randBuf[len - 1] = '\0';
}