最近項目中有一個需要使用QT生成固定長度隨機(jī)字符串的需求,需求也很簡單,就是生成一個n位的僅包含0-9以及大寫字母的字符串,因為這也是第一次使用QT自身的隨機(jī)數(shù),這里就做一下簡單記錄。
廢話不多說,直接上代碼。


1 QString getRandomString(int length) 2 { 3 qsrand(QDateTime::currentMSecsSinceEpoch());//為隨機(jī)值設(shè)定一個seed 4 const char chrs[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 5 int chrs_size = sizeof(chrs); 6 7 char* ch = new char[length + 1]; 8 memset(ch, 0, length + 1); 9 int randomx = 0; 10 for (int i = 0; i < length; ++i) 11 { 12 randomx= qrand() % (chrs_size - 1); 13 ch[i] = chrs[randomx]; 14 } 15 16 QString ret(ch); 17 delete[] ch; 18 return ret; 19 }
?這段代碼邏輯也很簡單,以當(dāng)前的時間戳作為種子進(jìn)行隨機(jī)數(shù)發(fā)生器初始化,并設(shè)置要生成的字符串要包含的字符的字符集,然后在字符中隨機(jī)取出特定個數(shù)的字符拼接起來即可。文章來源:http://www.zghlxwxcb.cn/news/detail-839086.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-839086.html
到了這里,關(guān)于QT生成固定長度的隨機(jī)字符串的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!