欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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数组的内容就可以了。

代码很简单,不再赘述。

相关标签: Qt 随机字符串