u013091270 2015-11-04 15:47 采纳率: 0%
浏览 939

urandom如何限定随机数的范围?以及个数?

这是我找到的代码,read函数返回的是文件的字节数,那么urandom文件读取的内容就是随机数吗?这里限定了读取4个字节的意思是不是比如urandom可以随机1000000000000的数我们支取前4个字节位的数字?那么把这个数字的字节数给了(char )&randNum是为什么?为什么不是(int)&randNum?另外(char *)&randNum 得到了字节数,为什么打印出来是个随机数。?

01.#include

02.#include

03.

04.int main()

05.{

06. int randNum = 0;

07. int fd = open("/dev/urandom", O_RDONLY);

08. if(-1 == fd)

09. {

10. printf("error\n");

11. return 1;

12. }

13.

14. read(fd, (char *)&randNum, sizeof(int));

15. printf("randNum is %d\n", randNum);

16.

17. close(fd);

18.

19. return 0;

20.}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办