あ seek ポイントが狂うからか。
あれ? fwrite, fprintf は書き換えずに別管理で現在位置を保持してるのか?