回答編集履歴

2

追加

2023/04/29 17:14

投稿

jimbe
jimbe

スコア13168

test CHANGED
@@ -2,5 +2,8 @@
2
2
  while (fread(&name[i], sizeof(char), 12, fp) == 12)
3
3
  {
4
4
  fread(name[i], sizeof(char), 12, fp);
5
+ fread(&sub[i], sizeof(int), 3, fp);
6
+ fread(&ave, sizeof(double), 3, fp);
5
7
  ```
6
8
  少なくとも、 while の () 中に書いた fread によって name は読み取られてしまいますので、後の {} 内の fread の段階では読み取り位置がずれていて、想定通りの読み込みになっていません。
9
+ また、バイナリファイル内に ave のデータがあるとは書かれていないのに何を読もうというのでしょうか。

1

誤字

2023/04/29 17:11

投稿

jimbe
jimbe

スコア13168

test CHANGED
@@ -3,4 +3,4 @@
3
3
  {
4
4
  fread(name[i], sizeof(char), 12, fp);
5
5
  ```
6
- 少なくとも、 while の () 中に書いた fread によって name は読み取られてしまいますので、後の {} 内の fread の段階では読み取り位置がずれていて、想定通りの読み込みになっていません。
6
+ 少なくとも、 while の () 中に書いた fread によって name は読み取られてしまいますので、後の {} 内の fread の段階では読み取り位置がずれていて、想定通りの読み込みになっていません。