1

ランダムシードの生成にまだ問題があります。これが私のコードです:

#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 が苦手です。

4

2 に答える 2