得到一个随机的字节

时间:2011-07-18 06:50:28

标签: c++ memory random

  

可能重复:
  What is the most random function in C++?

在C ++中,这是安全的吗?

int main() {
srand(time(0));
unsigned char arr[10];
for(int i=0; i <sizeof(arr); ++i)
    arr[i] = (unsigned char)rand();
}

有没有更好的方法以独立于平台的方式随机填充字节数组?没错,是否有更好的方法在Windows上执行此操作? (我知道rand()不是一个非常好的PRNG,我只是以它为例)。

谢谢!

1 个答案:

答案 0 :(得分:3)

使用boost.random怎么样?它使用的生成器可以传递给std::generate来填充你的数组,它是平台独立的和只有标题的。我会给出一个代码示例,但目前没有可用的增强安装。

编辑:如上所述:在C ++ 0x(即将推出的标准)中,您可以使用tr1 :: random,这实际上只是升级库成为标准C ++库的一部分。