String mit zufälligen Zeichen erzeugen



  • Hallo,

    wie kann ich einen String mit länge 15 Zeichen mit zufälligen Zeichen (a-z,A-Z) füllen?

    Vielen Dank
    DerTest



  • Hi,

    char szStr[15];
    
    for( int i = 0; i < 15; i++)
    	szStr[i] = 97 + (rand() % 26);
    

    Für Großßbuchstaben analog das selbe.



  • @Tanta:
    Das char Array muss um eins größer sein, damit auch das Nullterminierungszeichen \0 noch Platz hat.

    Meine Lösung, die std::string verwendet und sowohl Klein- als auch Großbuchstaben generiert:

    #include <string>
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    
    int main()
    {
            // Init Randomizer
            std::srand(std::time(NULL));
    
            std::string salat;
    
            for (int i=0; i<15; i++)
            {
                    int c = std::rand()%52;
                    // Uppercase
                    if (c >= 26)
                            c += 'A' - 26;
                    // Lowercase
                    else
                            c += 'a';
    
                    salat.push_back(static_cast<char>(c));
            }
    
            std::cout << salat << '\n';
    }
    

    // EDIT:
    Am portabelsten dürfte wohl folgende Lösung sein:

    const char table[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            std::string salat;
    
            for (int i=0; i<15; i++)
            {
                    int c = std::rand()%52;
                    salat.push_back(table[c]);
            }
    

    gruß,
    walker


Anmelden zum Antworten