#include <iostream>
#include <string>
#include <random>
#include <cassert>
std::string generate_random_string()
{
static const constexpr char allowed_chars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
std::default_random_engine random_engine(std::random_device{}());
std::uniform_int_distribution<std::size_t> random_distribution(0, sizeof(allowed_chars));
std::string cname(static_cast<std::size_t>(std::uniform_int_distribution<std::size_t>{}(*const_cast<std::default_random_engine*>(std::addressof(static_cast<const std::default_random_engine&>(std::move(std::default_random_engine(std::random_device{}()))))), std::uniform_int_distribution<std::size_t>::param_type(6, sizeof(allowed_chars)))), '\0');
for (std::string::value_type& chars : cname)
{
chars = allowed_chars[static_cast<std::size_t>(random_distribution(random_engine) % (sizeof(allowed_chars) - 1))];
}
return cname;
}
int main()
{
for (int i = 0; i < 12000; ++i)
{
printf("%s\n", generate_random_string().c_str());
}
getchar();
return 0;
}
评论已关闭