linux系统下随机数实现
参考资料:
C++随机数
1 概念
C++提供了两个函数,用于返回随机数:rand() 和 srand()
rand()
功能: 随机数发生器
srand()
功能:初始化随机数发生器
使用time()作为随机数种子
功能:时间戳,返回从1970年1月1月零点零分零秒到当前时间的秒数
2 程序
2.1 头文件
#include<cstdio>
#include<cstdlib>
#include<ctime>
2.2 随机大小写字母
unsigned char Letters[52]={'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
//数组内随机数处理函数
void generateString(unsigned char * dest, unsigned int len)
{
unsigned int cnt, randNo;
srand((unsigned int)time(NULL));
for (cnt = 0; cnt<len; cnt++)
{
randNo = rand() % 51;
*dest = Letters[randNo];
dest++;
}
}
2.3 固定数字范围内随机
//0~100内随机数
void generateString(unsigned char * dest, unsigned int len)
{
unsigned int cnt, randNo;
srand((unsigned int)time(NULL));
for (cnt = 0; cnt<len; cnt++)
{
randNo = rand() % 100;
printf("%d ", randNo);
}
}