struct FATEntry entry1;
strcpy(entry1.name, "abc");
entry1.next = 3;
entry1.size = 10;
entry1.mtime = 100;
struct FATEntry entry2;
strcpy(entry1.name, "");
entry1.next = 0;
entry1.size = 0;
entry1.mtime = 0;
struct FATEntry entry3;
strcpy(entry1.name, "foo");
entry1.next = 324;
entry1.size = 3;
entry1.mtime = 434;
file1 = fopen("filesys", "r+b");
fwrite(&entry1, sizeof(struct FATEntry), 1, file1);
fseek(file1,BLOCK_SIZE,SEEK_SET);
fwrite(&entry3, sizeof(struct FATEntry), 1, file1);
fseek(file1,BLOCK_SIZE,SEEK_SET);
fread(&entry2, sizeof(struct FATEntry), 1, file1);
fclose(file1);
したがって、基本的にここでやろうとしているのは、entry1 をファイルに書き込み、512 バイトを探し (ブロックになるため)、entry3 をファイルに書き込むことです。しかし、私が fread すると、entry3 から entry2 に値を取得することになっていますが、entry2 に表示されるのは乱数だけです。私は何を間違っていますか?