Qt 生成一个固定长度的随机字符串
程序员文章站
2022-07-14 19:57:07
...
概述
我们都知道,使用Qt的qrand()可以生成一个随机的数字,比如说,要生成100以内的随机数,可以使用qrand()%100 来实现,那么如果要生成一个固定长度的随机字符串该怎么弄呢,其实原理很简单,就是事先准备好一个字符串数组,然后结合qrand()函数随机从字符串数组中通过循环取出来就可以啦。
代码实现
原理已经说过了,其实就是一个非常简单的算法,直接看代码:
QString getRandomString(int length)
{
qsrand(QDateTime::currentMSecsSinceEpoch());//为随机值设定一个seed
const char chrs[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
int chrs_size = sizeof(chrs);
char* ch = new char[length + 1];
memset(ch, 0, length + 1);
int randomx = 0;
for (int i = 0; i < length; ++i)
{
randomx= rand() % (chrs_size - 1);
ch[i] = chrs[randomx];
}
QString ret(ch);
delete[] ch;
return ret;
}
getRandomString函数,输入要生成的随机字符串长度,就可以返回随机字符串了,如果要生成其他的特殊字符,可以直接修改chrs数组的内容就可以了。
代码很简单,不再赘述。
上一篇: 生成随机字符串
下一篇: 生成由字母数字组成的随机字符串