Archiv verlassen und diese Seite im Standarddesign anzeigen : Raqndom String in C++
Hallo Leute,
ich möchte einen 30 stelligen String erzeugen der dann ungefähr so aussehen soll:
"748192846372819467347106836172"
Ich erzeuge die Zufallszahlen so:
int random;
string hugo;
for (int i=0; i<=30; i++)
{
random = rand()%9;
}
Wie weise ich diese jetzt meinem String zu?
Ich habe einen Haufen Zeug im Netz gefunden aber nichts scheint zu funktionieren...
Die Funktion itoa z.B. scheint es garnicht zu geben :-(
anda_skoa
09-10-2006, 15:49
Mit einem Stringstream
#include <string>
#include <sstream>
std::stringstream stream;
stream << random;
std::string random_string = stream.str();
Ciao,
_
oder so:
char hugo[31];
for (int i=0; i<=30; i++)
hugo[i] = (0x20 + (char)(rand()%10));
hugo[31] = "\0";
Christoph
09-10-2006, 16:08
Oder mit sprintf. Das hat den Vorteil, dass eine Formatierung (z.B. links oder rechtsbündig, mit Nullen auffüllen etc.) angegeben werden kann.
Okay, ich habe mir das durchgelesen und es ein bisschen anders realisiert.
Meine Lösung sieht so aus:
string itoa(int num)
{
stringstream converter;
converter << num;
return converter.str();
}
int random=0;
Verification="";
for (int i=1; i<=30; i++)
{
random = rand()%9;
Verification += itoa(random);
}
Danke an alle!
anda_skoa
09-10-2006, 22:43
Es wäre schon ein bischen effizienter wenn du die Zahlen in der Schleife nur in den Stream steckst und erst am Ende den String rausholst.
Ciao,
_
Denke du hast Recht.
Allerdings ist Optimierung in diesem Falle garnicht nötig da dieser String lediglich am Anfang des Spiels einmal bestimmt wird.
Gestern habe ich auch noch gettext zum laufen gebracht.
Langsam aber sicher geht die Entwicklung voran!
Wird aber bestimmt noch ein paar Monate dauern bis das Spiel wieder spielbar ist.
(Die purebasic version ist schon abgeschlossen und ich schreibe das Ganze nun in c++ neu)
Oder mit sprintf. Das hat den Vorteil, dass eine Formatierung (z.B. links oder rechtsbündig, mit Nullen auffüllen etc.) angegeben werden kann.Es ging hier um C++. Und Streams kann man natürlich ebenso Formatierung mitgeben.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.