I am looking for methods to generate random strings in C++.Here is my code:
string randomStrGen(int length) {
static string charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
string result;
result.resize(length);
srand(time(NULL));
for (int i = 0; i < length; i++)
result[i] = charset[rand() % charset.length()];
return result;
}
But the seed(time(NULL))
is not random enough.Are there any other better way to generate random strings in C++?
Don't call srand()
on each function call - only call it once at first function call or program startup. You migh want to have a flag indicating whethersrand()
has already been called.
The sugested method is good except that you misuse srand()
and get predictably bad results.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With