【发布时间】:2011-01-31 11:44:37
【问题描述】:
我希望在 POSIX 系统上生成大的非负整数随机值。我找到了 2 个符合要求的可能函数,以及它们各自的初始化程序:
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
CONFORMING TO
4.3BSD, POSIX.1-2001.
// and
long int lrand48(void);
void srand48(long int seedval);
CONFORMING TO
SVr4, POSIX.1-2001.
- 首选哪些函数(线程安全和生成的值范围)?
- 鉴于安全不是问题,我应该如何为它们播种?
- 播种方法是否应该因播种函数的不同参数而不同(
long int与unsigned int)?
【问题讨论】:
-
如果您使用的是 POSIX 系统,您也可以使用
/dev/urandom或/dev/random
标签: c linux random posix srand