ランダムシードの生成にまだ問題があります。これが私のコードです:
#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 が苦手です。