A simple question but I can't find the answer in my book. I want to read a binary file to seed a random number generator, but I don't want to seed my generator with the same seed each time I call the function, so I will need to keep a variable for my position in the file (not a problem) and I would need to know how to read a file starting a specific point in the file (no idea how). The code:
void rng_init(RNG* rng) {
  // ...
  FILE *input = fopen("random.bin", "rb");
  unsigned int seed[32];
  fread(seed, sizeof(unsigned int开发者_如何学C), 32, input);
  // seed 'rng'...
  fclose(input);
}
You can use ftell() to read the current position of the file, and fseek() to jump to a specific position, e.g.
long cur = ftell(f);
fseek(f, 0, SEEK_START);   // jump to beginning
fread(...)
fseek(f, cur, SEEK_START); // returning to previous location.
You can use fseek to move to a random position within a file.
fseek takes a third parameter that tells what the position is relative to.
SEEK_SET - the absolute position from the start of the file
SEEK_CUR - the position relative to where you currently are in the file
SEEK_END - the position relative to the end of the file
Just fseek before you read anything!
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论