Qt 生成隨機數
阿新 • • 發佈:2019-01-10
簡述
Qt 提供了 qsrand 用以生成偽隨機數,我簡單封裝了一個函式,其引數可以設定隨機數的最大值、最小值,可以直接拿來用。
原始碼
// 標頭檔案包含
#include <QTime>
// min:隨機數的最小值,max:隨機數的最大值
int generateRandomInteger(int min, int max)
{
Q_ASSERT(min < max);
// 加入隨機種子。種子是當前時間距離0點0分0秒的秒數。
// 每次啟動程式,只新增一次種子,以做到數字真正隨機。
static bool seedStatus;
if (!seedStatus)
{
qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
seedStatus = true;
}
int nRandom = qrand() % (max - min);
nRandom = min + nRandom;
return nRandom;
}