Qt 生成一个固定长度的随机字符串

版权声明:支持原创,转载请说明~ https://blog.csdn.net/luoyayun361/article/details/84540444

概述

我们都知道,使用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数组的内容就可以了。

代码很简单,不再赘述。

猜你喜欢

转载自blog.csdn.net/luoyayun361/article/details/84540444
今日推荐