#include <iostream>
#include <boost/random/random_device.hpp>
#include "boost/random.hpp"
#include "boost/generator_iterator.hpp"
using namespace std;
int randString()
{
/*<< We first define the characters that we're going
to allow. This is pretty much just the characters
on a standard keyboard.
>>*/
std::string chars(
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"1234567890"
"!@#$%^&*()"
"`~-_=+[{]}\|;:'",<.>/? ");
/*<< We use __random_device as a source of entropy, since we want
passwords that are not predictable.
>>*/
boost::random::random_device rng;
/*<< Finally we select 8 random characters from the
string and print them to cout.
>>*/
boost::random::uniform_int_distribution<> index_dist(0, chars.size() - 1);
for(int i = 0; i < 8; ++i) {
std::cout << chars[index_dist(rng)];
}
std::cout << std::endl;
}
int main()
{
cout<<"===============rand String==============="<<endl;
randString();
cout<<"===============rand number==============="<<endl;
typedef boost::mt19937 RNGType;
RNGType rng;
rng.seed(time(NULL));
boost::uniform_int<> one_to_six( 99999, 999999 );
boost::variate_generator< RNGType, boost::uniform_int<> >
dice(rng, one_to_six);
for ( int i = 0; i < 6; i++ )
{
int n = dice();
cout << n << endl;
}
}
使用boost库生成随机字符串 随机数,生成随机数还是比较方便,随机字符串倒没觉得比rand方便多少,反而麻烦