gpt4 book ai didi

c - 从/dev/random (c) 读取随机 double

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:07 25 4
gpt4 key购买 nike

仍然无法生成随机种子。这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

double dev_random_seed(){
double randval;
FILE* f;

f = fopen("/dev/random", "r");
if(f == NULL){
fprintf(stderr, "WARNING: Failed to open /dev/random. Random seed defaults to 1. \n");
return 1;
}

fread(&randval, sizeof(double), 1, f);
fclose(f);
return randval;
}

int main(int argc, char** argv){
double arse = dev_random_seed();

printf("errno: %i\n",errno);
}

其输出为:

errno: 22

这是 EINVAL。找不到错误 ,我 c 很差。

最佳答案

除非有错误,否则不要检查errno。
可能是一个库提前设置了一个errno的值,因为它代表了一个原因,后面的部分不知道如果后面的部分有错误(抱歉,可以更清楚)

参见 https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=6619179

关于c - 从/dev/random (c) 读取随机 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com