100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > C语言随机字母生成 C++ 随机数字以及随机数字加字母生成的案例

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

时间:2021-06-19 23:03:42

相关推荐

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

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

#include

#include

void MainWindow::slot_clicked()

{

QString strRand;

int length = 32;

QString strTmp = "1234567890QWERTYUIOPASDFGHJKLZXCVBNM";

struct 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++生成随机数字符串(错误方法和正确方法)

先说错误的方法。生成的10个随机数是一样的。

#include

#include

#include

#include

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;

}

正确的方法,生成了10个不一样的随机数

#include

#include

#include

#include

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个随机数

// printf("\n====%s====\n",str);

return 0;

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方欢迎留言讨论,望不吝赐教。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。