Bonjour à tous,
Après environ 3 heures de recherche je sèche...
je cherche un seed pour srand qui soit plus précis que time, en effet en initialisant srand sur time(NULL) on obtient un seed identique sur 1 seconde complète.
Hors je travaille actuellement sur un programme qui utilise des chaines de données aléatoires qui lui sont données par un programme externe.
C'est ce dernier qui doit initialiser srand, mais il est appelé plusieurs fois par seconde!!! Donc je me retrouve avec les mêmes chaines lorsque les exécutions se font sur la même seconde.
J'ai trouvé une solution temporaire en utilisant GetTickCount qui me permet de faire tourner le programme pour moi, mais je cherche une solution portable, ce qui n'est pas le cas de GetTickCount qui ne tourne que sur windows!
Afin de ne pas perdre de temps inutilement, les réponses à quelques questions habituelles:
- Mon srand se situe juste après le main, il n'est pas dans une boucle.
- Il est absolument nécessaire d'avoir un seed plus précis qu'une seconde.
- Je cherche une solution portable.
- Je sais que l'intégration du programme externe dans le programme appelant résoudrait ce problème par la présence d'un seul srand. Mais il est indispensable de garder les 2 programmes séparés car il y a de nombreux programmes appelant différents.
Je vous remercie d'avoir lu mon post et espère avoir des réponses constructives![]()
Partager