QString ResultClient::getRandomString(int nLen)
qsrand(QDateTime::currentMSecsSinceEpoch());
const char ch[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int size = sizeof(ch);
char* str = new char[nLen + 1];
int num = 0;
for (int nIndex = 0; nIndex < nLen; ++nIndex)
num = rand() % (size - 1);
str[nIndex] = ch[num];
str[nLen] = '\0';
QString res(str);
return res;
QString ResultClient::getRandomString(int nLen = 5)
int nLen = rand() % 10;
nLen = nLen < 5 ? 5 : nLen;
QString strUUID = QUuid::createUuid().toString().remove("{").remove("}").remove("-");
return strUUID.right(nLen);
我们都知道,使用Qt的qrand()可以生成一个随机的数字,比如说,要生成100以内的随机数,可以使用qrand()%100 来实现,那么如果要生成一个固定长度的随机字符串该怎么弄呢,其实原理很简单,就是事先准备好一个字符串数组,然后结合qrand()函数随机从字符串数组中通过循环取出来就可以啦。
原理已经说过了,其实就是一个非常简单的算法,直接看代码:
QString getRa...
在编写QT项目时,产生随机数和随机字符串是十分常见的需求,使用qrand函数就能够实现
但是我们也知道,如果不使用种子的话,产生的随机数并不是真正的随机数,而是固定的数字
通常情况下,我们会使用当前时间作为随机数的种子,以产生真正意义上的随机数
Qt产生随机数代码如下:
int MainWindow::getRandom(int min,int max)
qsrand(QTi...
之前写过一篇生成随机密码的文章:C++的生成随机密码
原理其实很简单,事先准备一串字符串,再随机从字符串中提取字符。比如说,要生成128以内的随机数,可以使用qrand()%128 来实现,QT版本的代码如下:
#include <QtCore/QCoreApplication>
#include <QDateTime>
#include <QDebug>
QString makeRandomString(int length)
qsrand(QDateTime
小写字母的ascii码为97开始的26个字母;
用(int)(math.random()*26)来随机0~25之间的整数;接着加上97转为小写字母的整数范围;然后用强制类型转换(char)来转换
问题:如果要生成的随机字符串中包含大小写字母呢?
我给出了两种办法:
一种是从大写字母A到小写字母z结束,注意
152018-01-29 09:22:58 +08:00package com.v2ex.random1;import org.apache.commons.lang3.RandomStringUtils;import org.apache.commons.lang3.RandomUtils;/*** Created by corning on 2018/1/29.*/public class R...
void testClass::setRandString(QString & randString){ int max = 8; QString tmp = QString("0123456789ABCDEFGHIJKLMNOPQRSTUVWZYZ"); QString str = QString(); QTime t; t= QTime::cu