Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,039 questions

52,004 answers

573 users

How to generate random string in C++

4 Answers

0 votes
#include <iostream>

#define SIZE 10
  
static char *generate_rand_string(char *str, size_t size);
  
int main()
{
    char *s = (char *) malloc(SIZE + 1);
  
    srand((unsigned)time(NULL));
  
    if (s) {
        s = generate_rand_string(s, SIZE);
        std::cout << s;
        free(s);
    }
}
 
static char *generate_rand_string(char *str, size_t size) {
    static const char characters[] = "0123456789"
                                     "abcdefghijklmnopqrstuvwxyz"
                                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  
    int characters_count = sizeof(characters);
  
    for (int i = 0; i < size; i++) {
        str[i] = characters[rand() % (characters_count)];
    }
  
    str[size] = '\0';
  
    return str;
}
 
 
  
/*
run:
  
g97comzTCe
  
*/

 



answered Apr 4, 2016 by avibootz
edited Apr 14, 2024 by avibootz
0 votes
#include <algorithm>
#include <iostream>

std::string generate_rand_string(size_t size);
 
int main()
{
    std::string s = generate_rand_string(10);
 
    std::cout << s;
}
 
std::string generate_rand_string(size_t size) {
    auto rand_char = []() -> char
    {
        const char characters[] = "0123456789"
                                  "abcdefghijklmnopqrstuvwxyz"
                                  "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
                                  
        const size_t characters_count = (sizeof(characters) - 1);
        
        return characters[rand() % characters_count];
    };
    
    std::string str(size, 0);
    
    std::generate_n(str.begin(), size, rand_char);
 
    return str;
}

 
 
/*
run:
 
FA37jNCchR
 
*/

 



answered Apr 5, 2016 by avibootz
edited Apr 14, 2024 by avibootz
0 votes
#include <iostream>
  
std::string generate_rand_string(size_t size) {
    const char charset[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    srand(time(NULL));
   
    std::string s;
    s.reserve(size);
   
    for (int i = 0; i < size; ++i) 
        s += charset[rand() % (sizeof(charset) - 1)];
       
    return s;
}
   
int main(void) {
    std::string s = generate_rand_string(12);
   
    std::cout << s;
   
    return 0;
}
   
   
   
   
/*
run:
     
loAmYTgHbgaS
     
*/

 



answered Apr 14, 2024 by avibootz
0 votes
#include <iostream>
#include <random>
 
std::string generate_rand_string(std::size_t size) {
    const std::string charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 
    std::random_device random_device;
    std::mt19937 generator(random_device());
    std::uniform_int_distribution<> distribution(0, charset.size() - 1);
 
    std::string s;
 
    for (std::size_t i = 0; i < size; i++) {
        s += charset[distribution(generator)];
    }
 
    return s;
}
   
int main(void) {
    std::string s = generate_rand_string(12);
   
    std::cout << s;
}
   
   
   
   
/*
run:
     
qltFmVkGBDei
     
*/

 



answered Apr 14, 2024 by avibootz
...