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

138 篇文章 198 订阅

概述

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

代码很简单,不再赘述。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luoyayun361

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值