随笔 - 223  文章 - 0  评论 - 77  阅读 - 68万

QT生成固定长度的随机字符串

最近项目中有一个需要使用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 }
View Code
复制代码

 这段代码逻辑也很简单,以当前的时间戳作为种子进行随机数发生器初始化,并设置要生成的字符串要包含的字符的字符集,然后在字符中随机取出特定个数的字符拼接起来即可。

 

posted on   Arthurian  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示