Qt生成随机字符串

  • 取随机字符的形式生成
	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;
	}
  • 使用UUID生成
    Qt 中,有更简单的生成方式,Qt提供了生成UUID(全球唯一识别码)的接口,因此我们可以生成UUID之后,取UUID中的n位作为随机字符串。

    Qt生成的UUID格式:

    {00000000-0000-0000-0000-000000000000}

	QString ResultClient::getRandomString(int nLen = 5)
	{
		int nLen = rand() % 10;
		nLen = nLen < 5 ? 5 : nLen;	//随机数取余10可能存在为0的情况,为0时取长度为5
		QString strUUID = QUuid::createUuid().toString().remove("{").remove("}").remove("-");
		return strUUID.right(nLen);
	}
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值