【发布时间】:2014-03-11 02:49:05
【问题描述】:
我需要用 /dev/urandom 中的数据填充一个整数类型变量(任意大小)。考虑到这一点,我有以下代码:
std::fstream fstr("/dev/urandom", std::fstream::in | std::fstream::binary);
fstr.read(reinterpret_cast<char*>(&randomseed), sizeof(randomseed));
fstr.close();
(randomseed 是我需要用随机数据填充的变量)。
这会做正确的事(即无论库实现如何,它都是安全的),还是我应该使用其他一些 *_cast?
【问题讨论】:
-
你选对了演员,这是
reinterpret_cast,但不要忘记错误处理,阅读后检查流对象的错误标志。 -
@pasztorpisti 当然,为了简洁起见,我只是不想在代码 sn-p 中包含它。谢谢!
-
@Veeno 不错,不客气。