最近项目中有一个需要使用QT生成固定长度随机字符串的需求,需求也很简单,就是生成一个n位的仅包含0-9以及大写字母的字符串,因为这也是第一次使用QT自身的随机数,这里就做一下简单记录。
废话不多说,直接上代码。


1 QString getRandomString(int length) 2 { 3 qsrand(QDateTime::currentMSecsSinceEpoch());//为随机值设定一个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 }
这段代码逻辑也很简单,以当前的时间戳作为种子进行随机数发生器初始化,并设置要生成的字符串要包含的字符的字符集,然后在字符中随机取出特定个数的字符拼接起来即可。文章来源:https://www.toymoban.com/news/detail-839086.html
文章来源地址https://www.toymoban.com/news/detail-839086.html
到了这里,关于QT生成固定长度的随机字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!