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