srand
|
Definiert in Header
<stdlib.h>
|
||
|
void
srand
(
unsigned
seed
)
;
|
||
Initialisiert den Pseudozufallszahlengenerator, der von
rand()
verwendet wird, mit dem Wert
seed
.
Wenn
rand()
vor jeglichem Aufruf von
srand()
verwendet wird,
verhält sich
rand()
so, als wäre es mit
srand
(
1
)
initialisiert worden.
Jedes Mal, wenn
rand()
mit demselben
seed
initialisiert wird, muss es dieselbe Sequenz von Werten erzeugen.
srand()
ist nicht garantiert threadsicher.
Inhaltsverzeichnis |
Parameter
| seed | - | der Seed-Wert |
Rückgabewert
(keine)
Hinweise
Allgemein gesprochen sollte der Pseudozufallszahlengenerator nur einmal initialisiert werden, bevor irgendwelche Aufrufe von
rand()
stattfinden, und zwar zu Beginn des Programms.
Es sollte nicht wiederholt initialisiert oder jedes Mal neu initialisiert werden, wenn Sie einen neuen Satz von Pseudozufallszahlen generieren möchten.
Standardpraxis ist es, das Ergebnis eines Aufrufs von
time
(
0
)
als Seed zu verwenden.
Allerdings gibt
time()
einen
time_t
-Wert zurück, und
time_t
ist nicht garantiert ein integraler Typ.
In der Praxis definiert jedoch jede bedeutende Implementierung
time_t
als integralen Typ, und dies ist auch, was POSIX vorschreibt.
Beispiel
Mögliche Ausgabe:
Random value on [0 2147483647]: 1373858591
`-Tags wurden unverändert beibehalten - C++-spezifische Begriffe wie `srand`, `rand`, `RAND_MAX`, `printf` wurden nicht übersetzt
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.22.2.2 Die srand-Funktion (S: 252-253)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.22.2.2 Die srand-Funktion (S: 346-347)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.20.2.2 Die srand-Funktion (S: 312-313)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.10.2.2 Die srand-Funktion
Siehe auch
|
erzeugt eine Pseudo-Zufallszahl
(Funktion) |
|
|
maximaler möglicher Wert, erzeugt durch
rand
(
)
(Makrokonstante) |
|
|
C++-Dokumentation
für
srand
|
|