>>275
ちゃんと fread の仕様を読め。
"関数の戻り値" をチェックするわけだから (引数の書き換え値をチェックするのではない)
 if (fread(&x, sizeof(x), 1, file) != 1) break;
 if (fread(&y, sizeof(y), 1, file) != 1) break;
 if (fread(&z, sizeof(z), 1, file) != 1) break;
こうなる