一個簡單的問題,但我在我的書中找不到答案。我想讀取一個二進制文件來播種一個隨機數字生成器,但我不希望每次調用該函數時都使用相同的種子爲我的生成器播種,因此我需要爲該文件中的位置保留一個變量(不是一個問題),我需要知道如何讀文件開始一個特定的點(不知道如何)。代碼:C:用起點讀取文件
void rng_init(RNG* rng) {
// ...
FILE *input = fopen("random.bin", "rb");
unsigned int seed[32];
fread(seed, sizeof(unsigned int), 32, input);
// seed 'rng'...
fclose(input);
}
要注意的是在某些操作系統(OpenVMS的),其來源於FTELL(),轉移到FSEEK(的值)是魔法餅乾,並且不應被檢查或手術。這不適用於像Linux這樣的合理操作系統,其中值是從文件開始處的字節偏移量。 – wallyk 2010-05-31 16:54:45