C++ 随机数字以及随机数字加字母生成的案例

网络编程 itxz 5年前 (2020-12-11) 377次浏览 已收录 0个评论

我就废话不多说了,大家还是直接看代码吧~

#in<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>lude <time.h>
#in<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>lude <sys/timeb.h>
void MainWindow::slot_<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>li<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>ked()
{
QString strRand;
int length = 32;
QString strTmp = "1234567890QWERTYUIOPASDFGHJKLZXCVBNM";
stru<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>t timeb timer;
ftime(&timer);
srand(timer.time * 1000 + timer.millitm);//毫秒种子
for(int i = 0; i < length; i++ )
{
int j = rand()%35;
strRand += strTmp.at(j);
}
qDebug() << strRand;

补充知识:C/C++生成随机数字符串(错误方法和正确方法)

#in<a href="http://www.itxz.com/?tag=c" title="查看更多关于c的文章" target="_blank">c</a>lude <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h> 
void make_rand_str(char *pchStr,int iLen)
{
  time_t tCurTime = 0; 
  int iRandValue = 0;
  int i = 0;
  unsigned int state = 0;
  
  if(NULL == pchStr || iLen <= 0)
  {
 return;
  }
   
  tCurTime = time(NULL);
  printf("\n***%ld***%u**\n",tCurTime ,(unsigned int)tCurTime);
  srand((unsigned int)tCurTime); 
  
  iRandValue = rand(); 
  snprintf(pchStr,iLen,"%d",iRandValue);
  printf("\n====%s====\n",pchStr);  
  return;
  }
  
int main()
{
  char str[20];
  int i = 0;
  for(i = 0; i < 10; i++) 
  {
    memset(str,0,sizeof(str)); 
    make_rand_str(str,sizeof(str));
   // printf("\n====%s====\n",str);
  }
  return 0; 
}

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h> 
void make_rand_str(char *pchStr,int iLen,int num)
{
  time_t tCurTime = 0; 
  int iRandValue = 0;
  int i = 0;
  unsigned int state = 0; 
  if(NULL == pchStr || iLen <= 0)
  {
 return;
  }
   
  tCurTime = time(NULL);
  printf("\n***%ld***%u**\n",tCurTime ,(unsigned int)tCurTime);
  srand((unsigned int)tCurTime); 
  for(i = 0;i < num; i++)
  {
    iRandValue = rand();
    snprintf(pchStr,iLen,"%d",iRandValue);
    printf("\n====%s====\n",pchStr);
  }  
  return;
}
  
int main()
{
  char str[20]; 
  memset(str,0,sizeof(str));
  make_rand_str(str,sizeof(str),10); // 10个<a href="http://www.itxz.com/?tag=%e9%9a%8f%e6%9c%ba" title="查看更多关于随机的文章" target="_blank">随机</a>数
  // printf("\n====%s====\n",str);  
  return 0; 
}


IT学者 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C++ 随机数字以及随机数字加字母生成的案例
喜欢 (0)

您必须 登录 才能发表评论!